Linguagens de Programação - Aprenda C/C++

Started by Anonymous, 20 de May , 2006, 09:55:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Anonymous

Pessoal,

Aqui vai um 'mini-curso' sobre C/C++. Para todos que ainda não sabem programar. Ele estará dividas em aulas: estrutura seqüencial, condicional, repetição, etc... Não irei abordar os princípios da lógica de programação porque já existe um tópico sobre isto. Espero que gostem.

.:Conceitos Básicos:.

Compilador
Programa que compila nosso programa. Sugiro Bloodshed Dev C++

Conceito de Variável
Variavel é um número não determinado. Exemplo: x+5=10. No exemplo usamos a variavel x porque não sabemos o número, mas podemos calculá-lo.

Tipos de dados
Numérico: Podem ser fracionários(float) ou inteiros(int)
Lógico: Do tipo booleano(or, and, not)
Literal: Podem ser caracteres(char) ou texto(strings)

Ps.: A linguagem C/C++ é case sensitive, ou seja, CASA é diferente de casa. Usamos sempre ;(ponto e vírgula) depois de cada argumento.

.:Aula 1 - Estrutura Sequencial em C/C++:.
Estruturas seqüencias são estruturas que seguem uma seqüencia. Ex.: 1. Leia 2. Calcule 3. Escreva

Bibliotecas
Bibliotecas são arquivos que contém várias funções para sermos usadas. As chamamos no começo do programa através da diretiva #include. Usaremos muitas a stdio.h que contem funções de entrada e saida e conio.h para manipulação. Ex.: #include

Declaração de variaveis
As variáveis são declaradas após a especificação de seus tipos. Tipos: int, float, boolean e strings. Cada tipo tem o seu tamanho, que podem variar com o processador ou compilador.Ex.: int soma;

Comando de atribuição
É utilizado para atribuir valores ou operações a variáveis, representado por = (sinal de igualdade).Ex.: x = 2+4;

Comandos de Entrada
É utilizado para receber os dados que foram digitados pelo usuário. Os dados recebidos são armazenados em variáveis. Em C/C++ usamos os comandos scanf, gets e cin. Em nossos exemplos usaremos o scanf. Ex.: scanf("%d", &dados); Isso significa. Computado, leia(scanf) a variavel do tipo inteiro(%d) e coloque-a no endereço(&) da variavel dados.

Comando de Saída
Utilizado para mostrar dados na tela ou impressora. Comando: cout e printf. Usaremos o printf. Exemplo.: printf("O valor da soma: %d", soma); Significa: Computador, escreva(printf) "o valor da soma é" e mostre o valor que é inteiro(%d) da variával soma .

Comentários
Textos que podem ser inserido que o usuário não irá ver, somente nós. Comandos: /* texto */ ou // texto.

Operadores e funções pré definidas
São destinadas a cálculos e manipulação de caracteres. Só irei colocar os básicos. Alguns:

Operador de Atribuição
Operador Ex.
= x =y

Operadores Matemáticos
operador Comentário
+, -,*,/ Para somar, subtrair, multiplicar e dividir

Outros: %,++,--,+=, -=,*=,/=,%=,==,!=,<,>,<=,>=, etc...

Exemplo de um programa para ler 2 numeros, soma-los e mostrar(Usando os conhecimentos da aula)

#include //Blioteca com funções de entrada e saida
#include //Biblioteca que contem o getch()

main(){ //Abre o nosso programa
int a, b, soma; //Declaração
printf("Digite a: ");//Saida
scanf("%d", &a); //Entrada
printf("Digite b: ");
scanf("%d", &b);
soma = a+b; //Atribuição
printf("A soma é %d", soma);
getch(); //Faz o programa esperar uma tecla ser prescionada
}


.:Aula 2 - Estrutura Condicional:.
Uma condição é uma comparação que possui dois estados: verdeiro ou falso.

Estrutura Condicional Simples
Adicionado uma estrura de condição, o comando só será executado se a condição foi verdadeira.
Exemplo: if condição
comando;

Lembrando que, se houver mais de um comando, há necessidade de {}(Conceito de Blocos de comandos*).
Exemplo: if condição {
comando1;
comando2;
}

Estrutura Condicional Composta
Utilizando o conceito acima. Se a condição foi verdadeira, executa o comando 1, se falsa, executa o comando 2.
Exemplo: if condição
comando1;
else
comando2;
Entendendo: se condiçao verdadeira, comando1, senão, comando2.

Estrutura CASE
Em alguns programas há necessidade de exclusividade de comandos, ou seja, se um comando for executado, os demais não serão. Usamos uma estrutura mais seletiva chama CASE.

switch(seletor) //Para definir a variavel
case opcao1: //'Caso opcao1 faça..rs
comando1;
break; //Para para e não executar os outros
case opcao2:
comando2
break;
default:
cin >> "Opcao Invalida" //Caso nenhum for usado

Entendendo: Se o seletor for igual a opção 1 somente o comando 1 será executado. Se o seletor for igual a opção 2, somente o comando 2 será executado. Se nenhum deles ou uma outra opção for digitada, escreverá na tela Opação Invalida.

Exemplo de programa com a aula de hoje: Programa para verificar se A é maior ou menor que B.

#include
#include

main() {
int a, b;

a=2;
b=4;

if(a>b)
printf("A é maior que B");
else
printf("A é menor que B");
getch();
}

.:Aula 3 - Estrutura de Repetição:.

Estrutura de Repetição for
Utilizada quando se sabe o número de vezes que o trecho do programa irá ser repetido.
for(i=valor inicial; condição; adição ou subtração de i)
Exemplo:
for(i=0; i<=5; i++)
comando;
Entendendo: A 1 parte atribui um valor a i. A 2 determinará o final da repetição. E 3 irá alterar o valor de i. Assim nosso programa ira repetir 6 vezes, pois começa do 0 e vai até 5 aumentando de um em um(i++)

Estrutura de Repetição while
Usado quando o número de repetição não é fixo. Os comandos serão repetidos até a condição assumir valor falso. Exemplo:
while(condição){
comando1;
comando2;
}

Estrutura de Repetição do-while
A mesma coisa que o while, so que agora o teste de condição acontecerá no fim. Exemplo:
do {
comando1;
comando2;
}while(condição);

Exemplo de um programa com estruta de repetição: Programa para somar o intervalo de 1 a 100.

#include
#include

main() {
int i, soma;
soma=0;

for (i=1; i<=100; i++)
soma+=i;
}


.:Aula 4 - Vetores:.
Um vetor são variáveis compostas homogêneas unidimencionalmente. NOssa, o que é isso?!?Analogamente seria uma string que contém mais de um valor. Por exemplo: Um vetor de tamanho 5, possui 5 posições dentro dele. Visualização:

----------------------
Vetor[5] | 2 | 4 | 7 | 3 | 9 |
----------------------
Posição 0 1 2 3 4

Declarando um vetor

O número de posições fica entre colchetes. Declaramos com uma variavel comum, podendo ser int, char..etc
Ex.:
int vet[5];
char vetor[32];

P.S. "OLA" é um vetor d tipo char com 3 posições: vet[3]={"O", "L", "A"};

Atribuindo valores

Quando atribuimos um valor ao vetor, o número de posições entre os colchetes vira agora endereço. Por exemplo: tenho um vetor de 5 posições(Lembrando que começa do 0 ficando assim: 0, 1, 2, 3, 4) e quero atribuir o valor 1 á 4 posição: vet[3]=1;
Para texto:
strcpy(vetor,"Markos");

Carregando um vetor

for (i=0; i<=4; i++)
cin >> vetor;

Imprimindo um vetor na tela

for (i=0; i<=4; i++)
cout << vetor;

.: Aula 5 - Matrizes:.
É um conjunto de variavés de mesmo tipo e identificação pelo mesmo nome. Acho todo mundo viu matriz na escola, não? Se divide pelo número de linhas e colunas, entre colchetes. matriz[linha][coluna]
Exemplo:
m[3][3];
0 1 2
----------
| | | | 0
----------
| | | | 1
----------
| | | | 2
----------

Declarando uma matriz
Ex.:
int m[2][3]; números inteiros
float x[4][2]; números fracionários
char y[4][4]; caracteres

Atribuindo valores

Lembrando que, assim como em vetor, o qe antes erá dimensão([l][c]) agora vira endereço.
Ex.: Atrui o valor 5 referente à linha 1 coluna 4
x[1][4]=5;

Carregando uma matriz
Ex.: Matriz 3 por 3

for (i=0; i<=2; i++) { //percorre a linha
for (j=-0; j<-3; j++) //percorre a coluna
cin >> matriz[j];
}


Imprimindo uma matriz na tela

for (i=0; i<=2; i++) {
for (j=-0; j<-3; j++)
cout << matriz[j];
}


.: Aula 6 - Principais funções de tratamento de caracteres em C/C++:.
Tratar de textos(string!) com C/C++ é delicado, pois não possuimos um tipo de dado para isso. Assim, utilizamos vetores do tipo char. È importante saber que a linguagem C/C++ só reconhece o fim de uma cadeia de caracteres(texto!) por meio do '\0' (barra zero). Mas não se preocupe, o próprio compilador faz isso, você só tem que declarar uma posição a mais. Exemplo: um vetor com a palavra OLA, tem que ser assim: vetor[4];

------------
|O|L|A|\0|
------------
.0 1 2 3

Manipulando cadeias de caracteres

*para utilizar as funções que irei apresentar agora, teremos que declarar a biblioteca string.h

strcat(str1, str2)
Concatena(junta) str2 à str1

strchr(str1, ch)
Retorna um ponteiro(irei explicar isso mais para frente) para a posição da cadeia str1, onde o caractere ch é encontrado pela 1º vez.

strcpy(str1, str2)
Copia str2 para a cadeia str1

strcmp(str1, str2)
Compara as duas e, volta o valor 0 se iguais, menor que zero se str1 é alfabeticamente menor que str2, e maior que zero se str1 for maior.

strlen(str)
Obtem o tamanho de str1

strstr(str1, str2)
Retorna um ponteiro para a posição de str1 onde str2 é encotrada pela 1º vez.

Inicializando cadeias de caracteres

1.na declaração
char nome[]={'M', 'a', 'r', 'k', 'o', 's', '\0'};

2.na atribuição
char vet[4];
strcpy(vet, "Ola");


3.pelo teclado
char vet[8];
gets(vet);


Obs.: Utilizei o gets() que pega string, porque se colocase cin >>, no primeiro espaço nossa cadeira seria terminada.

################################################...

Bom é isso ae pessoal, em breve estarei postando o resto das aulas.

Autor: mkswd
Fonte: Forum Invasao

[#Elite Top Team]