Você está na página 1de 46

Linguagem de Programao

Curso de Engenharia Civil e Materiais


Programao de Computadores para Engenharia

PROGRAMAO DE COMPUTADORES PARA ENGENHARIA PROFESSOR THIAGO BESSA PONTES. ESP., MBA.

Transformando Solues em Tecnologias

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

O nome das variveis deve sempre comear com uma letra


ou com o caractere _ e pode ser seguido por um ou mais
caracteres alfanumricos.
A linguagem C case sensitive, ou seja, para ela a
varivel X e a varivel x so diferentes.
Todas as variveis devem ser declaradas antes de poderem
ser utilizadas. A forma de declarar :
tipo nome_varivel;

Tipos de Dados
Os tipos de dados existentes na linguagem C so:
int : nmero inteiro
float : nmero decimal
char : caracter

Comparando com algoritmo temos:


inteiro
real
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;

//cria a varivel de nome a


//atribui o valor 0 na varivel a

A atribuio pode ser feita no momento da declarao da


varivel:
int a = 0;
Comparando com algoritmo temos:
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:

Os resultados desse operadores sempre so Verdadeiro (nmero diferente de


zero) ou Falso (nmero igual a zero).

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

\"

mostra caractere aspas

\\

mostra caractere barra

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:

scanf(%d, &x); //l um valor inteiro para varivel x


scanf(%f, &y); //l um valor real para varivel y
scanf(%c, &z); //l um caractere para varivel z

Comandos Condicionais
Na linguagem C o comando condicional mais simples o if/else.

IF (condio){
<comando1>;
}ELSE{
<comando2>;

Comparando com algoritmo temos:

SE (condio lgica) ENTO


<comando1>
SENO

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

case valor1: comandos 1;


break;
case valor2: comandos 2;
break;
default : comandos;

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.

For (inicializao; condio; incremento)


comando;

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;


Inicializao: atribuio de um valor varivel de controle;


Condio: teste que verica quando o comando de repeIo
ser encerrado;
Incremento: modicao que ser realizada no valor da
varivel a cada execuo

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

2,3 9,4 5,1 8,9


1

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];

Comparando com algoritmo temos:


idade:vetor [1..10] de inteiro
int idade [10];

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",&notas[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;

- strcat(string1,string2) : concatena as duas strings em string1;

- strcmp(string1,string2) : compara as duas strings.

APLICANDO...

PROGRAMAO DE COMPUTADORES PARA ENGENHARIA PROFESSOR THIAGO BESSA PONTES. ESP., MBA.

46

Você também pode gostar