Professional Documents
Culture Documents
Introduo
Introduo
Estrutura de um programa C
Estrutura
#include <nome_da_biblioteca>
main() {
bloco de comandos;
}
Exemplo
#include <stdio.h>
main() {
printf("Meu primeiro programa em C");
}
Estrutura de um programa C
Estrutura de um programa C
Variveis
Variveis - Exemplos
float X;
float Y, Z;
char estado_civil;
char nome[40];
Variveis - Exemplos
Comando de atribuio
Exemplos:
x = 4;
x = x + 4;
y = 2.5;
estado_civil = S;
Comando de atribuio
strcpy(nome, Programao);
Comando de entrada
cin >> X;
gets(nome);
Comando de entrada
scanf("%d",&X);
Comando de sada
cout << X;
Comando de sada
printf(%d,Y);
printf(%f, X);
printf(%5.2f, X);
Comando de sada
Comentrios
Op
era
dor
=
+
*
/
%
Exem Comentrio
plo
x=y
x+y
xy
x*y
x/y
x%y
Operadores lgicos
Operador
and
or
not
Na linguagem C
&&
||
!
Comentrio
Conjuno
Disjuno
Negao
Operador
+=
-=
*=
/=
%=
++
Exemplo
x += y
x -= y
x *= y
x /= y
x %= y
x++
Comentrio
Equivale a x = x + y
Equivale a x = x - y
Equivale a x = x * y
Equivale a x = x / y
Equivale a x = x % y
Equivale a x = x + 1
Operador
++
++
----
Exemplo
y=++x
y=x++
x-y=--x
y=x--
Comentrio
Equivale a x=x+1 e depois y = x
Equivale a y=x e depois x=x+1
Equivale a x=x-1
Equivale a x=x-1 e depois y=x
Equivale a y=x e depois x=x-1
Operadores de comparao
Op
era
dor
==
!=
<=
Exemp Comentrio
lo
x == y
x != y
x <= y
>= x >= y
<
>
x<y
x>y
Funes matemticas
Funes matemticas
Fun
o
log
log1
0
modf
Exempl
o
log(x)
log10(x
)
z=(mod
f(x,&y)
pow pow(x,
y)
sin sin(x)
Comentrio
Obtm o logaritmo natural de x
Obtm o logaritmo de base 10 de x
Decompe o nmero real armazenado em x em
duas partes: y recebe a parte fracionria e z, a
parte inteira do nmero
Calcula a potncia de x elevado a y
Calcula o seno de x
Funes matemticas
Fun
o
sqrt
tan
M_PI
Exempl
o
sqrt(x)
tan(x)
M_PI
Comentrio
Calcula a raiz quadrada de x
Calcula a tangente de x
Retorna o valor de pi
Exemplo 1
#include <stdio.h>
#include <conio.h>
int main () {
int n1, n2, n3, n4, soma;
// Recebe os quatro nmeros
printf("Informe o primeiro nmero: ");
scanf("%d",&n1);
printf("Informe o segundo nmero: ");
scanf("%d",&n2);
printf("Informe o terceiro nmero: ");
scanf("%d",&n3);
Exemplo 2
#include <stdio.h>
#include <conio.h>
main() {
float n1, n2, n3, media;
// Recebe as trs notas
printf("Informe a primeira nota: ");
scanf("%f",&n1);
printf("Informe a segunda nota: ");
scanf("%f",&n2);
Exemplo 3
#include <stdio.h>
#include <conio.h>
// Calcula o imposto
imp = sal * 7/100;
// Calcula o salrio a receber
main() {
salreceber = sal + grat - imp;
float sal, salreceber, grat, imp;
// Mostra o salrio a receber
// Mostra mensagem antes da leitura
printf("O salrio final de %.2f", salreceber);
//
do salrio
// Para o programa a espera de um ENTER
printf("Informe o salrio: ");
getch();
scanf("%f",&sal);
}
// Calcula a gratificao
grat = sal * 5/100;
Exemplo 4
Exemplo 4
#include <stdio.h>
#include <conio.h>
main () {
float vlr_sal, qtd_kw, vlr_kw,
vlr_reais, desc, vlr_desc;
printf("Informe o salrio mnimo: ");
scanf("%f",&vlr_sal);
printf("Informe a qtde de Kws consumidos: ");
scanf("%f",&qtd_kw);
// Calcula o valor de cada Kw
vlr_kw = vlr_sal / 5;
// Calcula o valor a ser pago pelo residncia
vlr_reais = vlr_kw * qtd_kw;
// Calcula o desconto de 15%
desc = vlr_reais * 0.15;
Estrutura Condicional
Caso a condio inicial no seja satisfeita devese utilizar o comando else para a realizao de
novos testes;
if (var = 1) {
printf("\nExemplo com dois comandos");
printf("\nValor da varivel igual a 1");
} else if (var = 2) {
printf("\nExemplo com dois comandos");
printf("\nValor da varivel igual a 2");
} else {
printf("\nExemplo com dois comandos");
printf("\nOutro valor");
}
switch(num) {
case 1 :
case 2 : printf("O nmero informado foi 1 ou 2");
break;
case 3 : printf("O nmero informado foi 3");
break;
default:
printf("O nmero informado foi %d", num);
}
Deve utilizar o comando break para finalizar o teste em
cada comando case. No exemplo, case 1 e case 2, seriam
equivalentes ao comando if com um operador lgico ||
(OR). Se nenhuma expresso for satisfeita a opo default
ser executada.
Operadores lgicos
Exemplo 1
A nota final de um estudante calculada a partir de
trs notas atribudas, respectivamente, a um
trabalho de laboratrio, a uma avaliao semestral
e a um exame final. A mdia das trs notas
mencionadas obedece aos pesos abaixo. Faa um
programa que receba as trs notas, calcule e
mostre a mdia ponderada e o conceito que segue
abaixo:
Exemplo 1
#include <stdio.h>
#include <conio.h>
main () {
float nota1, nota2, nota3, media;
printf("Informe a primeira nota: ");
scanf("%f",¬a1);
printf("Informe a segunda nota: ");
scanf("%f",¬a2);
printf("Informe a terceira nota: ");
scanf("%f",¬a3);
media = (nota1*2+nota2*3+nota2*5)/10;
printf("\nMdia final: %.2f ",media);
Estruturas de Repetio
Disciplina; Introduo a Algoritmos e Programao
Curso: Engenharia de Energia
Prof. Alexandre Gonalves
Aula 4
Introduo
Nmero definido de
repeties
Estrutura FOR
ou incremento em 2 unidades
for (int a=1; a<=20;a=a+2)
printf("\no valor de a : %d",a);
ou incremento em 2 unidades
for (int a=20; a>=1;a=a-2)
printf("\no valor de a : %d",a);
Nmero indefinido de
repeties
e teste no incio
Estrutura WHILE
while (condio)
comando;
int x = 1, y = 5;
while (x < y) {
printf("\nx=%d e y=%d", x, y);
x=x+2;
y=y+1;
}
printf("\nx=%d e y=%d", x, y);
Nmero indefinido de
repeties
e teste no final
Estrutura DO-WHILE
Exemplo
int x = 1, y = 1;
do {
printf("\nx=%d e y=%d", x, y);
y=y*x;
x=x+1;
} while (x != 6);
printf("\nx=%d e y=%d", x, y);
Exemplo 1
MDIA ARITMTICA
At 3
Entre 3 e 7
De 7 para cima
MENSAGEM
Reprovado
Exame
Aprovado
Exemplo 1
if (media <= 3) {
tr = tr + 1;
printf("\n\nReprovado");
} else if (media <= 7) {
te = te + 1;
printf("\n\nEm exame");
} else {
ta = ta + 1;
printf("\n\nAprovado");
}
total_classe = total_classe + media;
#include <stdio.h>
#include <conio.h>
int main () {
float n1, n2, media,
total_classe, media_classe;
int num_alunos, tr, te, ta;
num_alunos = 5;
tr=te=ta=0;
total_classe=media_classe=0.0;
}
printf("\nTotal de reprovados: %d", tr);
printf("\nTotal em exame: %d", te);
printf("\nTotal de aprovados: %d", ta);
media_classe = total_classe / num_alunos;
printf("\nMdia da classe: %.2f",
media_classe);
getch();
Vetores
Definio de Vetor
Declarao de Vetor
int vet[10];
vet
10 5
0 1
3
2
8
3
1 19 44 21 2
4 5 6 7 8
3
2
$
3
j
4
char x[5];
x
A
0
*
1
7
9
vet[0] = 1;
Atribui
x[3] = b;
Atribui
Preenchendo um Vetor
int vet[10];
for (int i=0; i<10; i++) {
printf("Informe o %d. valor do vetor: ",i+1);
scanf("%d",&vet[i]);
}
Preenchendo um Vetor
Exemplo
#include <stdio.h>
#include <conio.h>
main () {
int vet[10];
for (int i=0; i<10; i++) {
printf("Informe o %d. valor do vetor: ",i+1);
scanf("%d",&vet[i]);
}
printf("\n");
for (int i=0; i<10; i++) {
printf("\nO %d. valor do vetor : %d",i+1, vet[i]);
}
getch();
}
Matrizes
Definio de Matriz
Definio de Matriz
Declarao de Matriz
tipo_dos_dados nome_varivel
[dimenso1][dimenso2][...][dimensoN];
Onde:
tipo_dos_dados o tipo de dados que sero armazenados
na matriz;
nome_varivel o nome dado varivel do tipo matriz;
[dimenso1] representa o tamanho da 1 dimenso da
matriz;
[dimenso2] representa o tamanho do 2 dimenso da
matriz;
[dimensoN] representa o tamanho da n-sima dimenso
da matriz;
Exemplo de Matriz
int X[2][6];
0 1 2
0 10 5 3
1 45 22 2
3
8
1
4 5
1 19
5 6
Simulao do exemplo
Apresentando a Matriz
#include <stdio.h>
#include <conio.h>
main () {
int mat[3][5];
for (int i=0; i<3; i++) {
for (int j=0; j<5; j++){
printf("Informe um valor para a %d. linha e %d. coluna: ",i+1,j+1);
scanf("%d",&mat[i][j]);
}
}
printf("\n");
for (int i=0; i<3; i++) {
for (int j=0; j<5; j++){
printf("\nO valor da %d. linha e %d. coluna : %d",i+1,j+1,mat[i][j]);
}
}
getch();
}
mat
Registros
Definio
Declarao
struct nome_do_registro
{ tipo campo1;
tipo campo2;
...
tipo campoN;
};
struct REGISTRO
{ int num;
char nome[5];
float saldo;
};
Declarao em C
struct REGISTRO
{ int num;
char nome[5];
float saldo;
} x[5][8];
Acesso Registros
Exemplo1
Acesso Registros
Exemplo
Acesso Registros
Exemplo
Sub-rotinas
Definio
Definio
Definio
#include <stdio.h>
#include <conio.h>
void soma() {
int a, b, s;
printf("Digite o primeiro nmero: ");
scanf("%d",&a);
printf("\nDigite o segundo nmero: ");
scanf("%d",&b);
s = a + b;
printf("\nResultado: %d",s);
}
main () {
soma();
getch();
}
Funo dobro
Funo main
a=a*2
b=y*2
res
16
soma
return soma
res = dobro(5, 3)
16
Funo main
Funo soma
6
x
5
800
800
*a = (*a) * 2;
300
*b = (*b) * 2;
3
300
soma
res
16
return soma
16
Exerccio 1
Uma empresa armazena informaes sobre vendas
clientes. Cada uma dessas vendas tem as seguintes
informaes: nmero da venda, cdigo do cliente, data de
vencimento, data de pagamento, valor da venda, juro e
desconto.
Faa um programa para cadastrar vendas com as seguintes
caractersticas:
- Utilize uma estrutura composta heterognea como varivel
global do sistema;
- Implemente uma sub-rotina (funo) para o cadastro da
venda;
Exerccio 1
- Implemente uma sub-rotina para baixa da venda em que,
Exerccio 1
#include <stdio.h>
#include <conio.h>
struct venda {
int numero;
int cliente;
int vencto;
int pagto;
float valor;
float juro;
float desconto;
};
int TAM_VETOR = 2;
float DESCONTO = 0.05, JURO = 0.002;
void cadastro(venda x[]) {
}