manipulação de informação -...

77
© M@nso 2003 Introdução à programação Computadores e programação I Linguagens de Linguagens de programação programação Introdução ao C

Upload: doanhuong

Post on 23-Jan-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

© M@nso 2003

Introdução à programação Computadores e programação I

Linguagens de Linguagens de programaçãoprogramação

Introdução ao C

Page 2: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

SumárioSumário Execução de programas

interpretadores, compiladores Linguagem

Manipulação de informação Variáveis tipos de dados

Operadores aritméticos, lógicos

Leitura e escrita entrada e saída de dados

Selecção de instruções Instrução if Instrução Switch

Erros em programação

Page 3: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Interpretação de ProgramasInterpretação de Programas

Basic, Java, Portugol

interpretadorPrograma que Programa que converte as converte as instruções da instruções da linguagem de linguagem de alto nível em alto nível em instruções instruções máquina e as máquina e as executa.executa.

Page 4: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Compilação de programasCompilação de programas

C,C++, Pascal

Compilador (compiler)Programa que Programa que converte as converte as instruções da instruções da linguagem de alto linguagem de alto nível em instruções nível em instruções máquina formando máquina formando um programa um programa objectoobjectoLigador (linker)

Programa que Programa que reúne todos os reúne todos os programas objecto programas objecto e faz um programa e faz um programa executávelexecutávelProgramas

Executados pelo Executados pelo sistema operativosistema operativo

Page 5: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

© M@nso 2003

Introdução à programação Computadores e programação I

Introdução à linguagem Introdução à linguagem CC

Page 6: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Porquê C++Porquê C++ É a base de linguagens de programação

modernas É um investimento

Linguagem estandardizada Muitos programas escritos em C / C++

È uma linguagem genérica Serve para vários fins

É disciplinadora Programar com método

É eficiente Existem bons compiladores

Page 7: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Ola mundoOla mundo #include <stdio.h>#include <stdio.h>

Biblioteca de funções de entrada e saida de dados int main(int argc, char* argv[])int main(int argc, char* argv[])

Função principalFunção principal { }{ }

Definição de um bloco de instruçõesDefinição de um bloco de instruções printf("ola mundo");printf("ola mundo");

escreverescrever return 0;return 0;

Retorno do programaRetorno do programa Olá mundo

#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{ printf("ola mundo")printf("ola mundo");; return 0return 0;;}}

Page 8: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Algoritmos computacionaisAlgoritmos computacionais Acções de um algoritmo computacional

Manipular dados Receber dados Guardar dados Imprimir dados

Executar instruções Fazer operações aritméticas Fazer operações lógicas Escolha entre várias instruções. Repetir um conjunto de instruções

Page 9: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Tipos de dados em CTipos de dados em C Simples

Numéricos inteiros reais

Caracter Lógico

Compostos Matrizes Estruturas Uniões

D0 variável

11100 11100

D0 variável lógico

VERDADEIRO0100 0001

D0 variável caracter

A0100 0001

Variáveis Um nome Um Tipo Um só valor

A0 inteiro

50 000100 0001 0100 0001

Nome da variável

C Real

-3,14156100 0001 100 0001

Nome da variável

0100 0001 0100 0001

Page 10: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Declaração de variáveisDeclaração de variáveis Tipo_de_dado nome_da_variável; Tipo_de_dado nome_da_variável = valor_inicial;• Tipo_de_dado nome_da_variável1,

nome_da_variável2, . . .;

NOTA

A declaração das variáveis deve ser feita antes da sua utilização

Exemplosint int somasoma;;float float saldosaldo = = 0.00.0;;doule doule x, y, zx, y, z;;

Page 11: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Regras dos nomes de variáveisRegras dos nomes de variáveis Pode ser constituído por letras do alfabeto por

dígitos e pelo caracter _ (underscore) O primeiro caracter não pode ser um dígito As letras maiúsculas e minúsculas representam

caracteres diferentes Não pode ter o nome de uma palavra reservado da

linguagem Deve ser descritivo daquilo que armazena

Caso tenha mais que uma palavra utilizar o caracter _ para unir as palavras ou capitular as iniciais

Não é aconselhado A utilização de caracteres acentuados Começar por _ Ter apenas letras maiúsculas

Page 12: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Palavras reservadas do CPalavras reservadas do C

Page 13: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Atribuição de Valores – operador =Atribuição de Valores – operador =

NOTA

O operado = é o operador de atribuição e significa que a variável passa a ter um novo valor (<- no portugol)

O operador == (igual) é o operador de comparação e devolve verdadeiro ou falso ( = no portugol)

Exemplos

soma soma == 10 ; 10 ;saldo saldo == soma + 1;soma + 1;area area == lado1 * lado2; lado1 * lado2;

variavel = expressão;

Page 14: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Atribuição de valoresAtribuição de valores Valores na Base:

Decimal numeração normal

00 22 63638383

Octal Começam por 0 (zero)

0000 0022 007777 00123123 Hexadecimal

Começam por 0x (zero xis) 0x0x00 0x0x22 0x0x3f3f 0x0x5353

atribuição do valor doze a x

X = 12;X = 12;X = 014;X = 014;X = 0xC;X = 0xC;

Page 15: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Inteiros - intInteiros - int Sinal

signed – positivos e negativos 1 bit para representar o sinal

unsigned – apenas números positivos Tamanho

short – menor dimensão em bytes 2 bytes

long – maior dimensão em bytes 4 bytes

Exemplos unsigned short int x; signed short int y; unsigned long int total; long int votos; int nota;

NOTApor defeito os inteiros são:

•signed•16 bits

•short•32 bits

•long

Page 16: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Alcance dos inteirosAlcance dos inteiros

Page 17: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

exemplosexemplos Nota final da disciplina de IP

unsigned short int nota; unsigned short nota;

Soma das notas das disciplinas de uma aluno unsigned short int somaNotas; unsigned short somaNotas;

Número de segundos de vida de uma pessoa unsigned long int numMinutos; unsigned long numMinutos;

Diferença entre o número de segundos de duas pessoas

signed long difSegundos; long difsegundos;

Diferença entre o número de anos de duas pessoas signed short int difAnos; short difAnos;

Page 18: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Números ReaisNúmeros Reais Tipo

float double

Representação Base e Mantissa

notação Notação corrente

1.23 .23 0.23 1. 1.0 Notação científica

1.2E10 1.23e-15 Modificadores

long

Exemplofloat raio = .50;float raio = .50;long double taxa = 5E-2 ;long double taxa = 5E-2 ;

base mantissa

102.8NOTA

Os números armazenados em virgula flutuante podem comportar um erro de arredondamento resultante da sua representação

Page 19: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Erro nos Números ReaisErro nos Números ReaisNOTA

Os números armazenados em virgula flutuante podem comportar um erro de arredondamento resultante da sua representação

Page 20: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Caracteres (char)Caracteres (char) Ocupam um byte

256 caracteres disponíveis Representados por um número

Tabela ASCII Atribuição

Utilização do caracter plica (‘) char sexo = ‘m’;char sexo = ‘m’; char enter =‘\n’char enter =‘\n’

Utilização directa do código ASCII

char letra = 98; char letra = 98; Modificadores

signed unsigned

\a Sinal sonoro\n New line\r Carriage return\v Vertical

tabulation\t Horizontal

tabulation\\ Caracter \\’ Caracter ‘\” Caracter “\b Backspace\0xff

Caracter 0xff ASCII

Caracteres especiais

Page 21: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Tabela ASCIITabela ASCII

Exemplo

char sexo;char sexo;

Sexo = ‘M’;Sexo = ‘M’;

Sexo = 77;Sexo = 77;

Page 22: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Definição de tipos - Definição de tipos - EnumeraçõesEnumerações

enum semana{ segunda=2, terca=3, quarta=4, quinta=5, sexta=6, sabado=7, domingo=8 };

segu

nda

terç

a

quar

ta

quin

ta

sext

a

saba

do

dom

ingo

-3 -2 -1 0 1 2 3 4 5 6 7 8 9 10

Nome

Valor

Definição de nomes para valores Cores , Dias da semana , Meses, etc.

Exemplo

enum semana teoricaIP, praticaIP;teoricaIP, praticaIP;teoricaIP = segunda;teoricaIP = segunda;praticaIP = teoricaIP +1 ;praticaIP = teoricaIP +1 ;

Page 23: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Definição de tipos - Definição de tipos - EnumeraçõesEnumerações

enum novo_tipo {nome_1=valor_1, nome_2, . . .,nome_n};novo_tipo nome_variavel = nome_x;

enum logica {falso, verdadeiro };enum logica condicao=verdadeiro;

NOTAS

•Quando omitimos o valor a enumeração toma o valor da anterior mais uma unidade.• Por defeito começam em zero

enum Cores {verde= 0 , amarelo = 1, vermelho =2 };enum Cores semaforo = verde;

Page 24: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Valores lógicos (bool)Valores lógicos (bool) Dois valores definidos

false (valor zero) true (um ou qualquer outro valor)

VE

RD

AD

EIR

O

VE

RD

AD

EIR

O

VE

RD

AD

EIR

O

FALS

O

VE

RD

AD

EIR

O

VE

RD

AD

EIR

O

VE

RD

AD

EIR

O

VE

RD

AD

EIR

O

VE

RD

AD

EIR

O

VE

RD

AD

EIR

O

VE

RD

AD

EIR

O

VE

RD

AD

EIR

O

-3 -2 -1 0 1 2 3 4 5 6 7 8

Nome

Valor

Exemplo

bool aprovado, trabEstudante;bool aprovado, trabEstudante;aprovador = true;aprovador = true;trabEstudante = false;trabEstudante = false;

Page 25: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Definição de tipos - TypedefDefinição de tipos - Typedef Definição de nomes para tipos

typedef tipo_de_dado novo_nome_do_tipo ;

Exemplos typedef unsigned long int int32;

definição de um novo tipo chamado int32

int32 somatorio; definicao de uma variável do tipo int32

Page 26: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Tipos de dados do c++ BuilderTipos de dados do c++ Builder

tipotamanho(bits) Mínimo Máximo

unsigned char 8 0 255

char 8 -128 127

short int 16 -32,768 32,767

unsigned int 32 0 4,294,967,295

int 32 -2,147483648 2,147,483,647

unsigned long 32 0 4,294,967,295

enum 32 -2,147483648 2,147,483,647

long 32 -2,147483648 2,147,483,647

float 32 1.18  10^-38 < |X| < 3.40  10^38

double 64 2.23  10^-308 < |X| < 1.79  10^308

long double 80 3.37  10^-4932 < |X| < 1.18  10^4932

Page 27: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícosExercícos Defina variáveis em C para manipular

A média das notas de um ano lectivo O salário de um trabalhador O número de alunos de um país O saldo de uma conta bancária Número de dias entre duas datas O sexo de um aluno Factor rhesus do sangue (+ e -) A situação de uma aluno relativo à

aprovação A situação de uma aluno relativo á

matrícula.

Page 28: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

© M@nso 2003

Introdução à programação Computadores e programação I

Entrada e saída de Entrada e saída de dadosdados

Page 29: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Entrada e saida de dadosEntrada e saida de dados scanf

Entrada de dados pelo teclado printf

Saída de dado para a consola scanf(“string de formato”, &&variavel , &&variavel ,…);

scanf(“%f", &&altura); scanf(“%d", &&idade); scanf(“%f %d", &&altura, &&idade);

printf(“string de formato”, variavel , variavel ,…); printf(“ a altura é %f :", altura); printf(“ a idade é %d :", idade); printf(“\n altura: %f idade :%d \n", altura, idade);

Page 30: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Formato de dados (I/O)Formato de dados (I/O) c c

caractercaracter s s

cadeia de caracterescadeia de caracteres d d

inteirointeiro f f

real no formato numéricoreal no formato numérico e e

real no formato cientificoreal no formato cientifico

u u sem sinal sem sinal

l l grandegrande

h h pequenopequeno

o o octaloctal

x x HexadecimalHexadecimal

%c Caracter char%s cadeias de caracteres char[]

%d numero decimal int%hd numero decimal pequeno (short) short int%ld numero decimal grande (long) long int%u numero decimal sem sinal unsigned int%hd numero decimal sem sinal pequeno unsigned short int%ld numero decimal grande sem sinal unsigned long int%o numero decimal em octal int%x numero decimal em hexadecimal int

%e numero real no formato cientifico ( 1.2e45) float%le numero real no formato cientifico grande (long) double%f numero real no formato numérico float%lf numero real double

Page 31: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Programa gentilPrograma gentilExemplo

#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{ int idade;int idade; printf(“qual a sua idade:”);printf(“qual a sua idade:”); scanf(“ scanf(“ %d%d ” , ” , &idade&idade);); printf(“parabens, voce tem printf(“parabens, voce tem %d%d anos“, anos“, idadeidade););}}

Page 32: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Ficheiros geradosFicheiros gerados

Page 33: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Algoritmos computacionaisAlgoritmos computacionais Acções de um algoritmo computacional

Manipular dados Receber dados Guardar dados Imprimir dados

Executar instruções Fazer operações aritméticas Fazer operações lógicas Escolha entre várias instruções. Repetir um conjunto de instruções

Page 34: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

© M@nso 2003

Introdução à programação Computadores e programação I

OperadoresOperadores

Page 35: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

25 205 12

1

InteirosInteiros Operadores unários

- (sinal) Operadores binários

+ (Soma) - (Subtracção) / (Divisão inteira) % (Módulo)

NOTAQualquer operação entre inteiros devolve um inteiro

Exemplo

25 - 2 = 23 25 - 2 = 23 --3 - 2 = -53 - 2 = -525 / 2 = 12 25 + 2 = 2725 / 2 = 12 25 + 2 = 2725 % 2 = 1 25 * 2 = 5025 % 2 = 1 25 * 2 = 50

Page 36: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores unários – Pós fixoOperadores unários – Pós fixo Operadores unários

++ (incremento) -- (decremento)

NotaX++X++X = X+1X = X+1

NotaX--X--X = X-1X = X-1

Notay = x++y = x++

y = xy = xx = x+1x = x+1

Notay = x--y = x--

y = xy = xx = x-1x = x-1

x33

y

expressão y = x++;y = x++;

x44

y33

Page 37: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores unários – Pré fixoOperadores unários – Pré fixo Operadores unários

++ (incremento) -- (decremento)

Nota++X++XX = X+1X = X+1

Nota--X--XX = X-1X = X-1

Notay = ++xy = ++x

x = x+1x = x+1y = xy = x

Notay = --xy = --x

x = x-1x = x-1y = xy = x

x33

y

expressão y = --x;y = --x;

x22

y22

Page 38: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores bit a bitOperadores bit a bit Manipulam directamente a representação binária

dos números e (and)

& ou (or)

| ou exclusivo (Xor)

^ Deslocamento à esquerda

<< Deslocamento à direita

>>

OU 0 10 0 11 1 1

E 0 10 0 01 0 1Multiplicaç

ãoLógica

SomaLógica

xor

0 1

0 0 11 1 0

diferençaLógica0 0 0 0 0 1 1 0

Page 39: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores bit a bit - OROperadores bit a bit - OR

x9191

y121288

expressão

z = x | y ;z = x | y ;x9191

y121288

z

z212199

OU 0 10 0 11 1 1

SomaLógica

0 1 0 1 1 0 1 1 91

1 0 0 0 0 0 0 0 128|

1 1 0 1 1 0 1 1 219

Page 40: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores bit a bit - ANDOperadores bit a bit - AND

x9090

y2020

expressão

z = x & y ;z = x & y ;x9090

y2020

z

z1616

128 64 32 16 8 4 2 1

0 1 0 1 1 0 1 0 90

0 0 0 1 0 1 0 0 20&

0 0 0 1 0 0 0 0 16

E 0 10 0 01 0 1Multiplicaç

ãoLógica

Page 41: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores bit a bit - XOROperadores bit a bit - XOR

x9090

y2020

expressão

z = x ^ y ;z = x ^ y ;x9090

y2020

z

z7878

0 1 0 1 1 0 1 0 90

0 0 0 1 0 1 0 0 20^

0 1 0 0 1 1 1 0 78

xor

0 1

0 0 11 1 0

diferençaLógica

Page 42: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores bit a bit - DeslocamentoOperadores bit a bit - Deslocamento

x2020

y

expressão

y = x << y = x << 2;2;

x2020

y8080

0 0 0 1 0 1 0 0 20<< 2

0 1 0 1 0 0 0 0 80

•Algoritmo•deslocam-se os bites para a esquerda•os últimos bites perdem-se•introduzem-se zeros no inicio

Page 43: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores bit a bit - DeslocamentoOperadores bit a bit - Deslocamento

x2020

y

expressão

y = x >> y = x >> 2;2;

x2020

y55 •Algoritmo

•deslocam-se os bites para a direita•os primeiros bites perdem-se•introduzem-se zeros no fim

0 0 0 1 0 1 0 0 20>>2

0 0 0 0 0 1 0 1 5

Page 44: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores sobre reaisOperadores sobre reais Aritméticos

multiplicação divisão soma subtracção

C Real

-3,14156100 0001 100 0001

Nome da variável

0100 0001 0100 0001

mantissa expoente

Page 45: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores compostosOperadores compostos

+= , -=,%=, *=, /=, >>=, <<=, &=, |=, ^=

variável Operador= expressão Variavel = variavel operador expressão

exemplos

X+= 3;X+= 3;X = X+3;X = X+3;

exemplos

x/=y;x/=y;x = x /y;x = x /y;

exemplos

X*= 3;X*= 3;X = X*3;X = X*3;

exemplos

X|= y;X|= y;X = X | y;X = X | y;

Page 46: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Operadores sobre lógicosOperadores sobre lógicos RELACIONAIS

Maior >

Menor <

Igual ==

Maior ou igual >=

Menor ou igual <=

Diferente !=

LÒGICOS Conjunção

&& Disjunção

|| Negação

!

Page 47: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

AssociatividadeAssociatividade

Associatividade esquerda=> direita x + y + z

3 + z 7

z / x * y 2 * z

2

x22

y11

z44

r11

Associatividade direita => esquerda r =x + y + z

7 r = 7 teste = !matriculado

teste = true x = -z

x=-4

matriculadofalsefalse

testefalsefalse

Page 48: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Prioridade dos operadoresPrioridade dos operadoresOperadores Associatividade () esquerda para a direita ! - ++ -- direita para a esquerda * / % esquerda para a direita + - esquerda para a direita << >> esquerda para a direita < <= > >= esquerda para a direita == != esquerda para a direita & esquerda para a direita ^ esquerda para a direita | esquerda para a direita && esquerda para a direita || esquerda para a direita ?: direita para a esquerda = += -= *= /= %= &= ^= |= <<= >>= direita para a esquerda

Page 49: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Algoritmos computacionaisAlgoritmos computacionais Acções de um algoritmo computacional

Manipular dados Receber dados Guardar dados Imprimir dados

Executar instruções Fazer operações aritméticas Fazer operações lógicas Escolha entre várias instruções. Repetir um conjunto de instruções

Page 50: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

ExercíciosExercícios Construa um programa que

calcule a área de um rectangulo Ler lado1

Area := lado1*lado2

Inicio

Programa Área do rectângulo#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{ double Lado1, lado2, area;double Lado1, lado2, area; scanf(“%lf”, &lado1);scanf(“%lf”, &lado1); scanf(“%lf”, &lado2);scanf(“%lf”, &lado2); area = lado1 * lado2;area = lado1 * lado2; printf(“ area = %lf ”, area);printf(“ area = %lf ”, area);

}} fim

Ler lado2

Escrever Area

Page 51: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

ExercíciosExercícios Construa um programa que

leia a nota teórica e a nota prática e imprima a nota final (não arredondada) da disciplina de IPNota de IP

#include <stdio.h>#include <stdio.h>int main(int argc, char* argv[])int main(int argc, char* argv[]){{ float nTeorica, nPratica, nFinal;float nTeorica, nPratica, nFinal; printf(“ introduza a nota teórica :“);printf(“ introduza a nota teórica :“); scanf(“%f”, &nTeorica);scanf(“%f”, &nTeorica); printf(“printf(“ introduza a nota prática:“);introduza a nota prática:“); scanf(“%f”, &nPratica);scanf(“%f”, &nPratica); nFinal = nTeorica * 0.6 + nPratica * 0.4;nFinal = nTeorica * 0.6 + nPratica * 0.4; printf(“A nota final e: %f “,nFinal);printf(“A nota final e: %f “,nFinal);}}

Ler nTeorica

nFinal = nTeorica*0.6 +nPratica * 0.4

Inicio

fim

Ler nPratica

Escrever nFinal

Page 52: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

© M@nso 2003

Introdução à programação Computadores e programação I

Selecção de intruçõesSelecção de intruções

Page 53: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Selecção SimplesSelecção Simples

. . .Se <condição> então Instruçõesfim_se

Condição

Bloco deInstruções

Fluxograma

Se x > 0 então escrever “numero:” ler numerofim_se

Exemplo

V

C++

If (condição)If (condição){{ intrução;intrução; intrução;intrução; intrução;intrução; . . .. . .}}

Um “Bloco de instruções” é limitado por chavetas { }

Linguagem estruturada

Page 54: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Selecção Simples (exemplo)Selecção Simples (exemplo)

A empresa X faz um desconto de 15% em todas as facturas cujo total ultrapasse 1000 euros. Construa um programa que receba o total da factura e imprima o valor a pagar

ExemploInicio

totalFactura>10000

Ler totalFactura

totalFactura =totalFactura *0.85

Fim

v

totalFactura

Page 55: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Selecção Simples (exemplo)Selecção Simples (exemplo)

Calculo do total da factura#include <stdio.h>#include <stdio.h>int main(int argc, char* int main(int argc, char* argv[])argv[]){{ float totalFactura; scanf(“%f”, &totalFactura); if( totalFactura > 1000.0) { totalFactura*= 0.85; } printf(“ %f “, totalFactura);}}

NOTASe o bloco tiver apenas uma instrução podem omitir-se as chavetas

Page 56: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Visibilidade das variáveisVisibilidade das variáveisint main(int argc, char* argv[]){ float totalFactura; sacanf(“ %f “, &totalFactura); if( totalFactura > 1000){ double desconto = totalFactura* 0.85; totalFactura -= desconto; } printf(“%f”, totalFactura); return 0;}

Visibilidade das variáveis:•Desde que são declaradas•Até final do bloco

Page 57: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Selecção em AlternativaSelecção em Alternativa

. . .Se <condição> entao InstruçõesSenao InstruçõesFim_se

Linguagem estruturada

Condição

Instruções

Fluxograma

Se numero>0 então escreve “positivo”Senão escreve “negativo”Fim_se

Exemplo

V

Instruções

F

C++

if (condição)if (condição){{ intrução1;intrução1; . . .. . .}}else else {{ intrução2;intrução2; . . .. . .}}

Page 58: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Selecção em Alternativa (exemplo)Selecção em Alternativa (exemplo)

25 205 12

1

Construa um programa que imprima “Par” ou “Impar” consoante o número introduzido pelo utilizador o é ou não.

Exercício

128 64 32 16 8 4 2 1

0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 10 0 0 0 0 0 1 0 20 0 0 0 0 0 1 1 30 0 0 0 0 1 0 0 40 0 0 0 0 1 0 1 50 0 0 0 0 1 1 0 6

0 0 0 0 0 0 0 1&

0 0 0 0 0 0 0 X

Page 59: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Selecção Simples (exemplo)Selecção Simples (exemplo)Programa par ou impar

main()main(){{ int numero; printf( “ numero :”); scanf(“%d”,&numero); if( numero % 2 == 0) printf(“ O numero é par”); else printf(“ o número é impar”); }}

25 205 12

1

n % 2 = 0VF

Fim

Inicio

Ler n

Impar Par

Page 60: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Selecção encadeadaSelecção encadeada

Construa um programa que imprima o maior de três número introduzido pelo utilizador

ExercícioV1 > v2 eV1 > v3

Maior=v1

V2>v3

Maior=v2 Maior=v3

s

s

n

n

Page 61: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Selecção encadeada (exemplo)Selecção encadeada (exemplo)Programa maior de três

int main(int argc, char* argv[])int main(int argc, char* argv[]){{ int v1, v2; v3;int v1, v2; v3; int maior;int maior; scanf(“ %d %d %d “, &v1, &v2, &v3);scanf(“ %d %d %d “, &v1, &v2, &v3); ifif( v1 > v2 && v1 > v3)( v1 > v2 && v1 > v3) maior= v1;maior= v1; elseelse {{ ifif( v2 > v3)( v2 > v3) maior= v2;maior= v2; elseelse maior=v3;maior=v3; }} printf(“ O maior é %d :”, maior);printf(“ O maior é %d :”, maior); return 0;return 0;}}

Page 62: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícioExercício

Contrua um programa que solicite ao utilizador a letra correspondente ao estado civil (S C D V ) e imprima por extenso o mesmo ou erro no caso de não ser um caractér válido

ecivilecivil

InicioInicio

ecivil=secivil=snãonão

Estado = SolteiroEstado = Solteiro

simsim

ecivil=cecivil=c

Estado = casadoEstado = casado

ecivil=decivil=d

Estado =divorciadoEstado =divorciado

simsimnãonão

ecivil=vecivil=v

Estado = viuvoEstado = viuvo

simsim

Estado = ERROEstado = ERRO

naonao

nãonão simsim

estado FimFim

Page 63: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícioExercícioEstado civil

main()main(){{ char ECivil; scanf(“%c”,&ECivil); if( ECivil ==‘S’) printf( “ Solteiro”); else if (ECivil ==‘C’ )

printf(“ Casado”); else if ( ECivil == ‘D)

printf(“Divorciado”); else if(ECivil == ‘V’)

printf(“Viuvo”); else

printf(“ERRO”); }}

ecivilecivil

InicioInicio

ecivil=secivil=snãonão

Estado = SolteiroEstado = Solteiro

simsim

ecivil=cecivil=c

Estado = casadoEstado = casado

ecivil=decivil=d

Estado =divorciadoEstado =divorciado

simsimnãonão

ecivil=vecivil=v

Estado = viuvoEstado = viuvo

simsim

Estado = ERROEstado = ERRO

naonao

nãonão simsim

estado FimFim

Page 64: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Selecção MúltiplaSelecção Múltipla

switchswitch ( expressão)switch ( expressão){{ case constante1 :case constante1 : intruções;intruções; break;break; case constante2 :case constante2 : intruções;intruções; break;break; . . . . . . case constanten :case constanten : intruções;intruções; break;break; default:default: intruções;intruções;

}}

ecivilecivilss cc …… defeitodefeito

estado

ecivilecivil

InicioInicio

Estado = solteiroEstado = solteiro Estado = casadoEstado = casado Estado = ERROEstado = ERRO

FimFim

Estado = …Estado = …

Page 65: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícioExercício Estado civil#include <iostream.h>#include <iostream.h>main(){main(){ char ECivil;char ECivil; scanf(“%c”,&ECivil); switch ( ECivil)switch ( ECivil) {{ case ‘S’ :case ‘S’ : printf( “solteiro”);printf( “solteiro”); break;break;

case ‘C’ :case ‘C’ : printf(printf(“casado”);“casado”);

break;break;case ‘D’ :case ‘D’ :

printf(printf(“Divorciado”);“Divorciado”); break;break;

case ‘V’ :case ‘V’ : printf(printf(“Viuvo”);“Viuvo”); break;break;

default :default : printf(printf(“ERRO”);“ERRO”); }}}}

Page 66: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

ExercícioExercício

Estado civilswitch ( ECivil)switch ( ECivil) {{ . . . . . . case ‘d’ :case ‘d’ :

case ‘D’ :case ‘D’ : printf(printf( “Divorciado”); “Divorciado”); break;break; . . .. . . }}

NOTAA escolha termina:

•quando chegar ao fim

•quando encontrar a instrução break

Page 67: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

ExercíciosExercícios Construa um programa que indique se dois

números introduzidos pelo utilizador são múltiplos um do outro.

Construa um programa que calcule as raízes de uma equação de 2º grau.

Altere o programa anterior para calcular as raízes reais e imaginárias.

Page 68: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

© M@nso 2003

Introdução à programação Computadores e programação I

ErrosErros

Page 69: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Erros programasErros programas Erros de especificação

Não compreendemos o problema Erros Lógicos

O algoritmo está errado Erros de sintaxe

O algoritmo está mal programado Erros de ligação

Bibliotecas referenciadas que não existem Erros de execução

Dados mal introduzidos

Os erros são a base da experiência.

Page 70: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Erros de especificaçãoErros de especificação Construir um programa que as

calcule as interacções do spin de um electrão num campo gravitacional desconhecido dado o número de mesões e fermiões pertencentes ao meio.

Page 71: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Erros LógicosErros Lógicos Solteiro casado ou

erroecivil

Inicio

ecivil=s

nãonão

Estado = Solteiro

simsim

nãonão

estado

Fim

ecivil=c

Estado = casado

simsim

Estado = casado

Page 72: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Erros de sintaxe mais comunsErros de sintaxe mais comuns Escrita ambígua

if(m == 0)     if(n == 0)         printf("m e n são zero.“); else     printf("m não é zero.“);

Page 73: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Erros de sintaxe mais comunsErros de sintaxe mais comuns Esquecer as chavetas

int main(int argc, char* argv[]){ float totalFactura; sacanf(“ %f “, &totalFactura); if( totalFactura > 1000) double desconto = totalFactura* 0.85; totalFactura -= desconto; printf(“%f”, totalFactura); return 0;}

Page 74: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Erros de sintaxe mais comunsErros de sintaxe mais comuns Colocar um ; a seguir ao if ou else

int main(int argc, char* argv[]){ float totalFactura; sacanf(“ %f “, &totalFactura);

if( totalFactura > 1000) ; { double desconto = totalFactura* 0.85; totalFactura -= desconto; } printf(“%f”, totalFactura); return 0;}

Page 75: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Erros de sintaxe mais comunsErros de sintaxe mais comuns Esquecer o break; no ciclo switch

Estado civil switch ( ECivil)switch ( ECivil) {{ case ‘S’ :case ‘S’ : printf( “solteiro”);printf( “solteiro”);

case ‘C’ :case ‘C’ : printf(printf(“casado”);“casado”);case ‘D’ :case ‘D’ :

printf(printf(“Divorciado”);“Divorciado”);case ‘V’ :case ‘V’ :

printf(printf(“Viuvo”);“Viuvo”);default :default :

printf(printf(“ERRO”);“ERRO”); }}

Page 76: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

© M@nso 2003

Introdução à programação Computadores e programação I

ConclusãoConclusão

Page 77: Manipulação de informação - orion.ipt.ptorion.ipt.pt/~aulasi/ip/07-Introducao_C/aula7-intro_c(2006).ppt · PPT file · Web viewLinguagens de programação Introdução ao C Sumário

Introdução à programação Computadores e programação I

© M@nso 2004

Construção de programasConstrução de programas Especificação do problema

Compreender o problema Desenvolvimento do algoritmo

Especificar as entradas, saídas e uma forma de transformar as entradas em saídas

Tradução do algoritmo para uma linguagem de programação programar

Tradução do programa para linguagem máquina Compilar e linkar

Executar o programa testar