MC102MN

Introdução a Algoritmos e programação de computadores

Aula X, Exercícios de revisão pra prova

Nessa aula vamos rever rapidamente os assuntos principais que podem cair na prova.

Declaração de variáveis

Os tipos são int, char, float e double. Para ler, scanf; para escrever, printf. Os formatos são %d para int, %f para float e %lf para double.

Operações

Os operadores principais são + - / * % ++ – += -=. = é atribuição. Os operadores têm precedência, e para calcular como uma expressão vai ser calculada é necessário colocar os parênteses obedecendo a ordem de precedência. Por exemplo, a expressão

a += - b * 2 / c + 4 * c * b / 4 * -- d

é equivalente a

a += ((((- b) * 2 )/ c) + ((4 * (c * b)) / 4 )* (-- d))

Funções

Uma função pode ser usada no meio do código, como

a = quadrado(b*c - 2/a);

Para definir uma função você define o tipo dela, o nome e os parâmetros. Dentro dela você pode declarar variáveis, e terá que retornar um valor com return.

float quadrado(float x) {
  return x * x;
}

Condicionais

As condicionais de C são if, switch e ? :. if pode não ter else:

if (x == 1) {
  print("x é 1\n");
}
pode ter um else
if (x == 1) {
  print("x é 1\n");
} else {
  printf("x não é 1\n");
}
ou pode ter uma sequência de else ifs
if (x == 1) {
  print("x é 1\n");
} else if (x > 1) {
  printf("x  é maior que 1\n");
} else {
  printf("x é menor que 1\n");
}

Switch gira em torno do valor de uma expressão

switch(a%3) {
 case 0: printf("é divisível"); break;
 case 1: printf("o resto é 1"); break;
 case 2: printf("o resto é 2"); breal;
 default: printf("isso nunca acontece");
}
Sem os breaks o switch executa tudo o que está abaixo do caso certo.

Não precisam se preocupar com o operador ? : .

Laços

C tem 3 laços:

while (<condicao>) {
  <bloco de codigo>;
}
do {
 <bloco de codigo>;
} while (<condicao>)

e

for (<inicializa>; <testa>; <atualiza>) {
  <bloco de codigo>;
}

Teste de mesa

Para saber como um programa se comporta a melhor coisa a fazer é um teste de mesa: rodar o programa vc mesmo e seguir os seus passos. Ver um exemplo nas notas do dia 13.

Vetores

Um vetor é uma sequência de variáveis guardadas na memória de uma função que podem ser acessadas por outras funções. Se declara:

int nome[tamanho];
a não ser como parâmetros de funções, onde o tamanho pode ser omitido:
int funcao(int vetor[], int n) {

Um vetor v de 5 elementos tem os seguintes valores:

v[0] v[1] v[2] v[3] v[1]

Acessar os elementos fora do limite de um vetor corrompe a memória, e pode ter resultados diferentes dependendo do computador e compilador.

Alguma dúvida?

Footnotes:

1 FOOTNOTE DEFINITION NOT FOUND: 4

Author: Alexandre Tachard Passos <alexandre.tp@gmail.com>

Date: 2010-08-29 16:54:16 BRT

HTML generated by org-mode 6.21b in emacs 23