Beruflich Dokumente
Kultur Dokumente
PROGRAMAO DE COMPUTADORES PARA ENGENHARIA PROFESSOR THIAGO BESSA PONTES. ESP., MBA.
ALGORITMO X PROGRAMAO
PROGRAMAO DE COMPUTADORES PARA ENGENHARIA PROFESSOR THIAGO BESSA PONTES. ESP., MBA.
Algoritmo X Programao
Algoritmo um conjunto finito de regras, bem definidas,
para a soluo de um problema em um tempo finito.
Programa um algoritmo codificado (escrito) em uma
linguagem de programao (C/C++).
A linguagem C foi criada por Dennis Ritchie, em 1972, no
centro de Pesquisas da Bell Laboratories. Ela uma
linguagem de propsito geral, sendo adequada
programao estruturada.
PROGRAMAO DE COMPUTADORES PARA ENGENHARIA PROFESSOR THIAGO BESSA PONTES. ESP., MBA.
Diretivas de Compilao
Comandos que indicam algumas tarefas a serem executadas antes
do programa, como por exemplo a incluso de uma biblioteca.
Biblioteca um conjunto de comandos j criados pela linguagem
e que devem ser carregados previamente para poderem ser
utilizados no programa.
Sempre comea com #include e os arquivos tem extenso .h.
Ex: #include <stdio.h>
inclui os comandos
de entrada e sada
de dados
PROGRAMAO DE COMPUTADORES PARA ENGENHARIA PROFESSOR THIAGO BESSA PONTES. ESP., MBA.
Sintaxe do Programa
Todo programa C inicia sua execuo na funo main(). No
incio da funo existe um { e no final um }.
Cada instruo encerra com ; (ponto e vrgula) que faz
parte do comando.
Comentrios so informaes que no sero executadas.
Elas devem ser colocados das seguintes formas:
/* comentrio */ ou
// comentrio
PROGRAMAO DE COMPUTADORES PARA ENGENHARIA PROFESSOR THIAGO BESSA PONTES. ESP., MBA.
Sintaxe do Programa
A estrutura bsica de um programa C :
#include <stdio.h>
#include <stdlib.h>
main( )
{
// rea de declarao de variveis
/* rea de comandos do programa */
}
PROGRAMAO DE COMPUTADORES PARA ENGENHARIA PROFESSOR THIAGO BESSA PONTES. ESP., MBA.
Constantes
e Variveis
Tipos de Dados
Os tipos de dados existentes na linguagem C so:
int : nmero inteiro
float : nmero decimal
char : caracter
int
float
char
Atribuio de Valores
Para atribuir um valor a uma varivel na linguagem C utilizase o sinal de igual (=).
Ex:
int a;
a = 0;
a = 0;
Operadores Aritmticos
Soma:
Subtrao:
Multiplicao:
Diviso:
Operadores Aritmticos
Na linguagem C, as operaes podem ter seus operadores de
forma combinada:
x=x+1;
x+=1;
x=x-5;
x-=5;
Operadores Relacionais
>
Maior
ou
igual:
>=
Menor
que:
<
Menor
ou
igual:
<=
Igual
a:
==
Diferente:
!=
Maior
que:
Operadores Lgicos
No: !a
e:
a
&&
b
ou: a || b
Incremento e Decremento
Na
linguagem
C
existe
uma
forma
direta
de
incrementar
o
valor
de
uma
varivel,
ou
seja,
de
somar
1
ao
seu
valor:
++x;
//incrementa
x
antes
de
usar
seu
valor
x++;
//incrementa
x
depois
de
ter
uIlizado
seu
valor
Ex:
#include <stdio.h>
#include
<stdlib.h>
main(
)
{
int
x=10;
prinT
(x=%d\n,x++);
prinT
(x=%d\n,x);
prinT
(x=%d\n,++x);
prinT
(x=%d\n,x);
}
//imprime
o
valor
10
//imprime
o
valor
11
//imprime
o
valor
12
//imprime
o
valor
12
Sada de Dados
A funo padro da linguagem C para imprimir mensagens e
valores na tela o printf().
printf (expresso, argumentos) ;
Comparando com algoritmo temos:
Escreva expresso
printf (expresso, argumentos);
Sada de Dados
Para
imprimir
valor
de
argumento
deve-se
incluir
na
expresso
um
controle
que
indica
o
formato
do
valor
que
ser
exibido.
Ex:
prinT
(Cinco
igual
a
%d,
5);
Os
controles
que
indicam
os
formatos
so:
%d
inteiro
%f
oat
%c
char
Podem
exisIr
vrios
argumentos
no
mesmo
comando,
basta
separ-los
com
uma
vrgula.
Sada de Dados
Na expresso podem ser includos caracteres de controle
como:
\n
nova linha
\t
tab
\b
volta um caractere
\"
\\
Sada de Dados
Para determinar a quantidade de casas decimais que ser
usada ao imprimir um nmero real deve-se modificar o
controle acrescentando essa informao. Ex:
#include <stdio.h>
main()
{
float x=1234,56;
printf(%f, x);
printf(%4:2f,x);
printf(%10:1f,x);
}
//imprime 1234,56000000
//imprime 1234,56
//imprime 1234,5
Entrada de Dados
A funo padro da linguagem C para entrada de dados pelo
teclado o scanf().
scanf (expresso, argumentos);
Comparando com algoritmo temos:
leia(varivel)
scanf (expresso, argumentos);
Entrada de Dados
Na expresso deve-se determinar o tipo de valor que ser lido
(%d ou %f ou %c) e no argumento tem o nome da varivel que
receber o valor lido precedido pelo & para indicar que
endereo de memria. Ex:
Comandos Condicionais
Na
linguagem
C
o
comando
condicional
mais
simples
o
if/else.
IF
(condio){
<comando1>;
}ELSE{
<comando2>;
<comando2>
FIMSE.
Comandos Condicionais
Ex:
#include<stdio.h>
main()
{
int
a,b;
prinT("digite
dois
nmeros:");
scanf("%d%d",&a,&b);
if
(b!=0)
prinT("%d\n",a/b);
else
prinT("diviso
por
zero\n");
}
Comandos Condicionais
No exemplo anterior o comando if tinha apenas uma nica
instruo a ser executada. Para que possam ser executadas
vrias instrues necessria usar a representao de
instruo composta :
Uma chave aberta ( { )
Uma sequncia de instrues (cada uma terminada por
ponto e vrgula ;)
Uma chave fechada ( } )
Comandos Condicionais
Existe ainda uma estrutura condicional para casos de seleo mltipla: o
switch - case.
switch (varivel)
{
case valor1:
comandos 1;
break;
case valor2:
comandos 2;
break;
...
default:
comandos;
}
Comandos Condicionais
A varivel testada sucessivamente comparando com os valores de cada
caso. Ao encontrar uma coincidncia, o comando ou o bloco de
comandos executado.
Se nenhuma coincidncia for encontrada o comando default ser
executado. O default opcional.
A sequncia de comandos executada at que o comando break seja
encontrado. Se no houver o comando break, todos os comandos abaixo
sero realizados em sequncia, mesmo que estejam declarados em
outro bloco de comandos.
Comandos Condicionais
Comparando com algoritmo temos:
switch (varivel)
ESCOLHA (seletor)
caso 1 : <comandos>
caso 2 : <comandos>
Caso Contrrio
<comandos>
FIMESCOLHA.
Comandos Condicionais
Ex:
#include<stdio.h>
main()
{
int
x;
prinT("1.
incluir\n");
prinT("2.
alterar\n");
prinT("3.
excluir\n");
prinT("Digite
sua
opo:");
scanf(%d,&x);
Comandos Condicionais
switch(x)
{
case
1:
prinT("escolheu
incluso\n");
break;
case
2:
prinT("escolheu
alterao\n");
break;
case
3:
prinT("escolheu
excluso\n");
break;
default:
prinT("opo
invlida\n");
}
}
Comandos de Repetio
Comparando com algoritmo temos:
PARA varivel DE valor inicial AT valor final FAA
<comando1>
<comando2>
<comando3>
FIMPARA.
Comandos de Repetio
O
comando
mais
simples
de
repeIo
o
for
que
dene
um
valor
inicial
a
uma
varivel
e
vai
modicando-o
automaIcamente
a
cada
execuo:
FOR
(inicializao;
condio;
incremento)
comando;
Comandos de Repetio
Ex: Imprime valores de 1 a 100 um em cada linha.
#include<stdio.h>
main()
{
int contador;
for (contador=1; contador<=10; contador++)
printf("%d\n", contador);
}
Obs: para mais de um comando no esquecer de usar a instruo
composta com { e }
Comandos de Repetio
Outros exemplos:
Para mudar o valor da varivel de 2 em 2
for(x=1; x<100; x+=2)
printf("%d\n",x);
Para usar mais de uma varivel de controle no mesmo
comando for
for (x=0,y=0; x+y<100; ++x,++y)
printf("%d ",x+y);
Comandos de Repetio
Comparando com algoritmo temos:
ENQUANTO ( condio lgica ) FAA
<comando1>
<comando2>
<comando3>
FIMENQUANTO.
while (condio)
comando;
Comandos de Repetio
Outro comando de repetio o while que testa uma
condio e executa um comando caso a condio seja
verdadeira.
Ao chegar no fim do comando um novo teste ser executado
para se determinar se a repetio continua ou se termina
(caso o resultado do teste seja falso):
while (condio)
comando;
A condio testada antes de se lanar a execuo do
comando.
Comandos de Repetio
Ex:
L
caracteres
do
teclado
at
que
a
letra
a
seja
digitada.
#include<stdio.h>
main()
{
char
ch;
while(ch
!=
a)
scanf("%c",&ch);
}
Obs:
para
mais
de
um
comando
no
esquecer
de
usar
a
instruo
composta
com
{
e
}
Comandos de Repetio
O ltimo comando de repetio o do-while que executa
um comando e depois testa uma condio para se
determinar se a repetio continua ou se termina (caso o
resultado do teste seja falso):
do
{
comando;
} while (condio);
Ele realiza sempre pelo menos uma execuo do
comando j que o teste s no fim.
Comandos de Repetio
Comparando com algoritmo temos:
REPITA
<comando1>
<comando2>
<comando3>
AT (condio)
do
{
comando;
} while (condio);
Comandos de Repetio
Ex: L caracteres do teclado at que a letra a seja digitada.
#include <stdio.h>
main()
{
char ch;
do
{
scanf("%c",&ch);
} while(ch != a);
}
Vetor
Vetores so listas ordenadas de determinados tipos de dados.
Na linguagem C o vetor inicia com ndice 0 (primeiro
elemento do vetor e vai at o ltimo elemento declarado na
varivel).
Ex: vetor para armazenar as notas de uma turma.
Notas
Posio
6,1
0
9,8
10
7,0
5
Vetor
Na linguagem C declarado da seguinte forma:
tipo nome_vetor [tamanho];
Ex:
float nota[8];
char nome_cliente[50];
Vetor
Ex:
Ler
notas
de
5
alunos
e
calcular
a
mdia
nal.
#include<stdio.h>
main()
{
int
notas[5],i,soma;
for(i=0;i<5;i++)
{
prinT("Digite
a
nota
do
aluno
%d:
",i);
scanf("%d",¬as[i]);
}
soma=0;
for(i=0;i<5;i++)
soma=soma+notas[i];
prinT("Media
das
notas:
%d.",soma/5);
}
String
Na linguagem C no existe um tipo de dado string, no seu
lugar utilizado uma matriz de caracteres.
Uma string um vetor de caracteres, cujo final indicado
com um caractere nulo (\0).
Sendo assim, ao definir uma string, deve-se levar em
considerao, alm do nmero de caracteres da string, o
caractere nulo que termina a string.
Ex:
char nome [11]
engenharia + \0
String
Alm dos comandos scanf e printf, no caso das strings
existem tambm os seguintes comandos para:
Entrada de dados
- gets(vetor) : l string at o <enter> e guarda em vetor;
Sada de dados
- puts(mensagem) : escreve mensagem na tela e coloca o
\n no final.
String
Ex:
Ler
um
nome
e
mostr-lo
em
seguida
na
tela.
#include<stdio.h>
main()
{
char
nome[50];
prinT(Digite
um
nome:
);
gets(nome);
prinT(Nome:
%s.",nome);
}
String
A
biblioteca
<string.h>
inclui
vrios
comandos
de
manipulao
de
strings
como:
- strcpy(string1,string2)
:
copia
a
string1
em
string2;
APLICANDO...
PROGRAMAO DE COMPUTADORES PARA ENGENHARIA PROFESSOR THIAGO BESSA PONTES. ESP., MBA.
46