Вы находитесь на странице: 1из 16

ANHANGUERA EDUCACIONAL. S.A.

FACULDADE ANHANGUERA DE CUIAB


CURSOS DE ENGENHARIA CIVIL, ENGENHARIA CONTROLE E
AUTOMAO, ENGENHARIA MECNICA E ENGENHARIA DE PRODUO

MANUAL DE ALGORITMOS
E PROGRAMAO 2014.
PROF. LEONAIR NEVES SOUSA

CUIAB-MT, 2013

PLANO DE ENSINO E APRENDIZAGEM

MANUAL DOS PRINCIPAIS COMANDOS UTILIZADOS NA LINGUAGEM C.

1. CONCEITOS FUNDAMENTAIS DE PROGRAMAO

Estrutura bsica de um programa: Cap. 01 pag.3


//declarao das bibliotecas
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
#include <conio.h>
using namespace std;
int main()
{
system(Pause);
return 0;
}
Declarao de Comentrios: Cap. 01 pag.9
Comentrio de uma linha. (usa-se o // )
Ex.: // declarao de variveis
Comentrio de mais de uma linha. (usa-se o /* */ )
Ex.: /*Programa de media de 2 notas
Prof. Leonair Neves Sousa
Disciplina: Algoritmos e Programao*/
Declarao de Variveis: Cap. 01 pag.13
Ex.: <tipo_dado> <nome_variavel>
float nota1;
int idade;
string nome;
char edereco[20];
Obs.: Quando usar o tipo char, vocs deve escolher o tamanha do contedo da
varivel. O tamanho mximo de 255. J na string automaticamente ele j cria a
varivel com 255 caracteres.

Tipo de Dados: Cap. 01 pag.13


float -Para nmeros inteiros e quebrados.
Ex. float nota1; nota1=1 ou nota1=5.6
float altura; altura = 1.89 ou altura = 2.0
Obs.: Para inserir nmeros reais usa-se o ponto e no virgula.
int -Para nmeros inteiros.
Ex. int idade; idade=21 ou nota1=6
int temperatura ; temperatura =20 ou temperatura = -6
string e char - Para textos.
Ex. string nome; nome=leonair neves sousa
string endereco; endereco=rua 18 lote 4 quadra 5
char disciplina[20]; disciplina=matemtica
Operadores: Cap. 02 pag. 53

2. PROGRAMAO ESTRUTURADA

ESTRUTURA DE CONTROLE DE CONDIO: CAP. 04 PAG. 84


Comando if. Cap. 04 pag. 84
Ex. if (condio )
{ instrues;
instrues;
}

Ex. if (media<=7)
{ gotoxy(10,10);
cout<<aluno reprovado;
}

Comando if_else. Cap. 04 pag. 88


Ex. if (condio)
{ instrues;
instrues;
}
else
{ instrues;
instrues;
}

Ex. if (media<=7)
{ gotoxy(10,10);
cout<<aluno reprovado;
}
else
{ gotoxy(10,10);
cout<<aluno aprovado;
}

Comando else_if. Cap. 04 pag.95


Ex. if (condio)
{ instrues;
}
else if (condio)
{ instrues;
instrues;
}
else
{ instrues;
instrues;
}
Comando switch. Cap. 04 pag.100
Ex. switch(opcao)
{ case 1:{ instrues;
break;
}
case 2:{ instrues;
break;
}
default:{ instrues;}
}

Ex. if (media<5)
{ gotoxy(10,10);
cout<<aluno reprovado;
}
else if(media>=7)
{ gotoxy(10,10);
cout<<aluno aprovado;
}
else
{ gotoxy(10,10);
cout<<aluno prova final;
}
Ex. . switch(opcao)
{ case 1:{ cout<<opo 1;
break;
}
case 2:{ cout<<opo 2;
break;
}
default:{ cout<<escolha a opo;}
}

ESTRUTURA DE CONTROLE DE REPETIO: CAP. 03 PAG. 62


Lao for. Testa a condio no inicio. Cap. 03 pag. 62
Ex. for(inicio;condio;incremento)
Ex. for(cont=1;cont<=5;cont++)
{ instrues;
{ soma=soma +1;
Instrues;
cout<<Soma = <<soma;
}
}
inicio inicializar uma varivel para
controlar a repetio
inicio cont =1. (comea de 1)
condio definir a condio de condio cont <=5. (vai repetir 5 vezes)
repetio e de parada do lao
incremento cont ++.( incrementa + 1
incremento definir o incremento. toda vez que chegar no final do for)
Crescente (++) ou descrecente(--)
Lao while. Testa a condio no inicio. Cap. 03 pag. 72
Ex.
Ex.
Inicio;
cont=1;
while (condio)
while(cont<=5)
{ instrues;
{ soma=soma +1;
incremento;
cout<<Soma = <<soma;
}
cont++;
inicio inicializar uma varivel para
}
controlar a repetio
condio definir a condio de inicio cont =1. (comea de 1)
repetio e de parada do lao
condio cont <=5. (vai repetir 5 vezes)
incremento definir o incremento. incremento cont ++.( incrementa + 1
Crescente (++) ou descrecente(--)
toda vez que chegar no final do for)
Lao do_while. Testa a condio no final. Cap. 03 pag. 76
Ex.
Ex.
inicio;
cont=1;
do
do
{ instrues;
{ soma=soma +1;
incremento;
cout<<Soma = <<soma;
}while (condio);
cont++;
} while(cont<=5);
inicio inicializar uma varivel para
controlar a repetio
inicio cont =1. (comea de 1)
condio definir a condio de condio cont <=5. (vai repetir 5 vezes)
repetio e de parada do lao
incremento cont ++.( incrementa + 1
incremento definir o incremento. toda vez que chegar no final do for)
Crescente (++) ou descrecente(--)

3. VETORES E MATRIZES

VETORES. CAP.07 PAG. 182


DECLARAO
<tipo_dado> <nome_vetor [tamanho];
Ex.: int vetor_notas[5]; // vai armazenar 5 notas do tipo inteira.
vetor_notas:
6
-9
7
5
0
0
1
2
3
4
string vetor_alunos[3]; // vai armazenar 3 nomes de alunos.
vetor_alunos:
simone carlos paulo
0
1
Obs.: a posio do vetor comea da posio 0.

ARMAZENANDO NO VETOR USA LAO DE REPETIO.


Armazenar dados do tipo int ou float. Usa-se cin>>
Ex: for (cont=0;cont<=4;cont++)
{gotoxy(10,10);
cout<<informe a nota;
cin>>vetor_notas[cont];
}
Armazenar dados do tipo string. Usa-se getline()
Ex: for (cont=0;cont<=4;cont++)
{gotoxy(10,10);
cout<<informe a nota;
getline(cin,vetor_alunos[cont]);
}
ESCREVENDO DADOS DO VETOR NA TELA USA LAO DE REPETIO.
for (cont=0;cont<=4;cont++)
{gotoxy(10+(cont*5),10); //da espao de 5 caracteres entre cada nota.
cout<<informe a nota;
cout<<vetor_notas[cont];
}

MATRIZES. CAP.07 PAG. 188


DECLARAO
<tipo_dado> <nome_matriz [qt_linhas][qt_colunas];
Ex.: int matriz_notas[2][2]; // vai armazenar 4 notas do tipo inteira.
matriz_notas:
0
1
0
6
9
1

-9

string matriz_alunos[2][2]; // vai armazenar 4 nomes de alunos.


matriz_notas:
0
1
0
Simone Paulo
1

carlos

Andre

Obs.: a posio do vetor comea da posio 0.


ARMAZENANDO NO VETOR USA LAO DE REPETIO.
Armazenar dados do tipo int ou float. Usa-se cin>>
Ex: for (lin=0; lin <=1; lin ++)
{ for (col=0; col <=1; col ++)
{gotoxy(10,10);
cout<<informe a nota;
cin>>matriz_notas[lin][col];
}
}
Armazenar dados do tipo string. Usa-se getline()
Ex: for (lin=0; lin <=1; lin ++)
{ for (col=0; col <=1; col ++)
{gotoxy(10,10);
cout<<informe a nota;
getline(cin,matriz_alunos[lin][col]);
}
}
ESCREVENDO DADOS DO VETOR NA TELA USA LAO DE REPETIO.
Ex: for (lin=0; lin <=1; lin ++)
{ for (col=0; col <=1; col ++)
{ gotoxy(10+(col*5),10+(lin*5),); //espao de 5 caracteres na linha e coluna.
cout<<matriz_notas[lin][col];
}
}

4. MODULARIZAO, FUNO E PASSAGEM DE PARMETROS.

MODULARIZAO, FUNO. CAP.05 PAG. 109


CRIANDO A FUNO
void <nome_funo>(parmetros)
{ instrues;
Instrues;
}

void fatorial(int nro, int &fat)


{ int cont;
for (cont=nro;cont>1;cont--)
{fat=fat*(cont-1);
}
}

CHAMANDO A FUNO NO PROGRAMA PRINCIPAL


int main()
int main()
{ int nro,fat;
{ int nro,fat;
gotoxy(10,10);
gotoxy(10,10);
cout<<" Informe o numero: ";
cout<<" Informe o numero: ";
cin>>nro;
cin>>nro;
<nome_funo>(parmetros);
fatorial(nro,fat);
gotoxy(10,10);
gotoxy(10,10);
cout<<" O fatorial = "<<fat;
cout<<" O fatorial = "<<fat;
gotoxy(10,24);
gotoxy(10,24);
system("PAUSE");
system("PAUSE");
}
}
PASSAGEM DE PARMETROS. CAP.05 PAG. 115
PASSAGEM DE PARAMETROS POR VALOR E POR REFERNCIA
void <nome_funo>(int nro, int &fat) //retorna nro 5 e fat=120
{ instrues;
void fatorial(int nro, int &fat)
Instrues;
{ int cont;
}
for (cont=nro;cont>1;cont--)
int nro passagem de parmetro por
{fat=fat*(cont-1); }
valor;
}
int &fat -passagem de parmetro por int main()
referncia;
{ int nro,fat;
Usa-se o smbolo & para indicar que o nro=5;
valor esta sendo passado por fat=nro;
referncia.
fatorial(nro,fat);//passa nro=5 e fat=5
Obs.: para cada varivel deve-se cout<<" O fatorial = "<<fat;
informar seu tipo.
system("PAUSE");
Ex.: int nro;
}

5. REGISTRO.

REGISTRO. CAP.08 PAG. 222

CRIANDO UM TIPO REGISTRO


struct <nome_estrutura>
{variveis do registro;
variveis do registro;
variveis do registro;
};
struct <nome_estrutura> varivel;

struct agenda
{string nome;
int celular;
string e_mail;
};
struct agenda vetagenda[5];

Obs.: a varivel pode ser um vetor ou


matriz.
ARMAZENANDO NO VETOR TIPO REGISTRO
for (cont=0;cont<5;cont++)
{fflush(stdin); //usa-se o fflush(stdin) quando vamos usar o getline
gotoxy(15,5);
cout<<" informe nome ";
getline(cin,vetagenda[cont].nome); //usa-se getline pois nome e string
gotoxy(15,6);
cout<<" informe nome ";
cin>>vetagenda[cont].celular; //usa-se cin pois celular e int
gotoxy(15,7);
cout<<" informe nome ";
getline(cin,vetagenda[cont].e_mail); //usa-se getline pois e_mail e string
}
Obs.: Usa-se for para armazenar no vetor tipo registro para percorrer a posio.
ESCREVENDO O VETOR TIPO REGISTRO NA TELA
for (cont=0;cont<5;cont++)
{gotoxy(15,5);
cout<<cin,vetagenda[cont].nome; //usa-se cout para escrever qualquer varivel.
gotoxy(15,6);
cout<<vetagenda[cont].celular;
gotoxy(15,7);
cout<<vetagenda[cont].e_mail;
system(PAUSE);// para tela para mostrar cada posio do vetor com os dados
}

6. STRING E FUNES DE MANIPULAES

STRING E FUNES DE MANIPULAES. CAP.07 PAG. 201 A 209

FUNES
scanf() ler dados

gets()- ler textos

scanf(%d,&idade);

gets(nome);

%d indica o tipo de valor a ser lido


&- usado para pegar a referncia
idade a varivel criada do tipo int.

Le variveis do tipo char.


Ex.: char nome[20];

puts()- escreve texto complete ou


pedaos

strlen()- retorna o tamanho da string

puts(nome);

qtletras=strlen(nome);

Ex.:char nome[20];
nome=carlos da silva;
puts(nome);//escreve o nome inteiro
puts(&nome[4]);
//escreve a partir da 4 posicao: os da silva

Ex.: int qtletras;


char nome[25];
cout<<" informe nome: ";
gets(nome);//ler nome
qtletras=strlen(nome);
//pega qtde de caracter

strcat()- concatena strings

strcmp()- compara strings

strcat(nome,texto)

strcmp(nome,nome2);

Ex.: int qtletras;


char nome[25];
nome=leonair;
strcat(nome,, boa tarde);
cout<<nome;
//escreve: leonair, boa tarde

Ex.: int a;
char nome1[20];
char nome2[20];
nome1=leo;
nome2=leos;
a=strcmp(nome1,nome2);
Obs.: strings iguais retorna 0.
strings diferentes e primeira
maior retorna 1.
strings diferentes e primeira
menor retorna -1.

strcpy()- copia contedo da segunda


string para primeira.

strncat() - concatena strings


especificando a quantidade de
caracteres da segunda string

strcpy(nome,nome2);

strncat(nome,texto,3)

Ex.: int a;
char nome1[20];
char nome2[20];
gets(nome1);
gets(nome2);
strcmp(nome1,nome2);
Obs.:copia o contedo de nome2 para
nome1.

Ex.: int qtletras;


char nome[25];
gets(nome);//leonair
strncat(nome,, boa tarde,3);
cout<<nome;
//escreve: leonair, boa
//concatena as string mais pegando
nesse caso somente 3 caracteres da
segunda string

strncmp()compara strings especificando


a quantidade de caracteres da 2 string

strncpy() - copia contedo da


segunda string para primeira,
especificando a qtde de caracteres da
2 string

strncmp(nome,nome2,3);

strcpy(nome,nome2,3);

Ex.: int a;
Ex.: int a;
char nome1[20];
char nome1[20];
char nome2[20];
char nome2[20];
gets(nome1);
gets(nome1);
gets(nome2);
gets(nome2);
a=strncmp(nome1,nome2,3);
strcmp(nome1,nome2,3);
Obs.:
Obs.:copia 3 caracteres do contedo
strings iguais retorna 0.
de nome2 para nome1.
strings diferentes e primeira
maior retorna 1.
strings diferentes e primeira
menor retorna -1.

7 - OUTROS COMANDOS USADOS.

COMANDOS PARA POSICIONAR OS TEXTOS NA TELA DE EXECUO.


gotoxy(coluna,linha);
Ex.: gotoxy(10,10); // escreve o texto aluno prova final na coluna 10, linha 10
cout<<aluno prova final;
COMANDOS PARA ESCREVER NA TELA DE EXECUO.
Usando cout para escrever um texto.
cout<<texto;
Ex.: cout<<aluno prova final;// escreve o texto que esta entre : aluno prova final
Usando cout para escrever uma variavel. cout<<nota1;
Ex.: nota1 = 7;
cout<<nota1;// escreve o contedo da varivel nota1. Nesse caso vai escrever 7.
Usando cout para escrever um texto e varivel juntos. cout<<A nota1 = <<nota1;
Ex.: nota1 = 7;
cout<<A nota1 = <<nota1;// vai escrever o texto entre e o contedo da varivel:
A nota1 = 7 .
COMANDOS PARA LER UM DADO DO TECLADO.
O comando cin>> usado para ler variveis do tipo int e float.
cin>>nota1;
Ex.: cout<<informe a nota1: ;
cin>> nota1;
O comando getline() usado para ler variveis do tipo string.
getline(cin,nome);
Ex.: fflush(stdin);
cout<<informe o nome: ;
getline(cin,nome);
Para usar o comando getline(), devemos colocar os seguintes comandos no
programa.
Logo abaixo da declarao das
bibliotecas:
using namespace std;

Antes de ler a primeira varivel do tipo


string:
fflush(stdin).

COMANDO PARA A TELA ESPERANDO USURIO APERTAR UMA TECLA.


system(PAUSE);
Usa-se logo depois de mandar escrever uma mensagem ou uma varivel.
Assim a tela e parada esperando que o usurio veja a escrita na tela.
Ex.: gotoxy(10,10);
cout<<BOA TARDE;
system(PAUSE);

Вам также может понравиться