Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Algoritmos
Introduo
Para cada comando sero apresentadas a sua:
sintaxe: formato geral do comando que deve ser aceita e respeitada como padro. semntica: o significado da ao realizada pelo comando, em tempo de execuo. No texto (esttico) de um programa (ou algoritmo), um valor pode ser representado na forma de constante ou de varivel. A constante representada em um programa diretamente pelo seu valor (que no se altera durante a execuo do programa).
3
Variveis
A varivel representada no texto de um programa por um nome que corresponde a uma posio da memria que contm o seu valor. Em tempo de execuo, o nome da varivel permanece sempre o mesmo e seu valor pode ser modificado. Nome de varivel: criado pelo programador e deve ser iniciado por uma letra que pode ser seguida por tantas letras, algarismos ou sublinha quanto se desejar e aconselhvel que seja significativo do valor que ela representa.
4
Variveis
Exemplos de nomes de variveis: Certo: nome, telefone, salario_func, x1 Errado: 1ano, sal/ hora, _nome
Tipos de Dados
Todo valor (constante ou varivel) de um programa tem um tipo de dados associado.
Um tipo de dados constitudo de dois conjuntos: um conjunto de objetos (domnio de dados) e de um conjunto de operaes aplicveis aos objetos do domnio. Toda linguagem de programao tem embutido um conjunto de tipos de dados, tambm chamados de implcitos, primitivos ou bsicos. Tipos de dados bsicos: inteiro, real, caracter e lgico. Em C, os tipos acima so, respectivamente, int, float/double e char. No h o tipo lgico em C.
6
O smbolo = em C utilizado para atribuio, correspondendo ao do portugus estruturado. No h correspondente direto em C para o operador div .
Sintaxe:
Alocao de um espao na memria que possa conter um valor do seu tipo. Associao do endereo dessa posio da memria ao nome da varivel.
Exemplos: caracter f, n; inteiro idade; real a, b, X1; lgico vendido;
Declarada uma varivel, toda vez que ela for referenciada em qualquer comando do programa, o computador vai trabalhar com o contedo de seu endereo, que o valor da varivel.
11
12
Exerccios
Indique com um X os nomes vlidos para uma varivel:
( ( ( ( ( (
13
Comando de atribuio
Sintaxe: varivel expresso; Semntica: atribuir varivel o resultado da expresso. Expresses aritmticas: fornecem resultado numrico (inteiro ou real).
Operaes bsicas: +, -, *, /
Exponenciao: potencia( A + B , N) Funes matemticas comuns: sen (X), cos (X), abs (X), raiz (X), arctan (X), exp (X), log (X), ln (X) etc. Operadores para inteiros: M mod I: resto da diviso inteira de M por I M div I: quociente da diviso inteira de M por I
14
Comando de atribuio
Expresses lgicas: fornecem resultado lgico.
Conectivos relacionais: (<, , =, >, Conectivos lgicos: Conjuno: e, Disjuno: ou, Disjuno Exclusiva: xou, Negao: no,
A V V F F B V F V F AeB V F F F A ou B V V V F A xou B F V V F
e )
no A F F V V
15
Comando de atribuio
Prioridade de execuo das operaes em uma expresso:
1. Parnteses (dos mais internos para os mais externos) 2. Expresses aritmticas, seguindo a ordem: funes, * e /, + e 3. Comparaes: <, , =, >, e 4. no 5. e 6. ou e xou 7. Da esquerda para a direita quando houver indeterminaes.
16
Comentrios
inteiro maior; //maior valor lido //ler os valores das variveis A, B, C
Pseudocomando
leia os valores das variveis A, B, C ; Classifique os valores lidos em ordem crescente ;
17
Bloco (1) Conjunto de comandos entre { } (2) Pode-se declarar variveis em seu interior. (3) Delimitar o escopo das variveis. { <declarao de variveis>; <comandos>; }
18
1. Seqncia Simples Sintaxe: Exemplo: leia (X, Y); A X + Y; B X Y; imprima (A, B); Exemplo em C:
scanf( %d %d , &X, &Y); a = x + y; b = x - y; printf ( %d %d , a, b);
Semntica: o controle de fluxo de execuo entra na estrutura, executa comando por comando, de cima para baixo e sai da estrutura.
19
At agora, foram estudados os seguintes recursos visando especificamente a construo de algoritmos: Conceito de Constante, Varivel e Tipos de Dados. Tipos de Dados Bsicos. Declarao de Variveis. Construo de Expresses (Aritmtica e Lgica). Sintxe e Semntica dos Comandos de Atribuio e de Entrada e Sada. Seqncia Simples (primeiro dos trs tipos de estruturas de controle). J possvel criar alguns algoritmos simples, bastando adotar um mtodo de desenvolvimento.
20
21
23
24
26
Exerccios
1. Desenvolver os algoritmos a seguir, utilizando o mtodo direto.
a) Ler uma temperatura em graus Celsius e apresentla convertida em graus Fahrenheit. A frmula de converso: F (9*C+160)/5 b) Calcular e apresentar o volume de uma lata de leo cilindrica, a partir da leitura do raio da base e da altura. c) Ler os valores do comprimento, da largura e da altura de uma caixa, calcular e imprimir o seu volume.
27
2. Construir um algoritmo para ler 5 valores inteiros, calcular e imprimir a soma desses valores. 3. Construir um algoritmo para ler 6 valores reais, calcular e imprimir a mdia aritmtica desses valores. 4. Fazer um algoritmo para gerar e imprimir o resultado do nmero H, sendo H = 1 + 1/2 + 1/3 + 1/4 + 1/5. 5. Construa em C os algoritmos acima.
28
DCC 120
Laboratrio de Programao
30
So nomes usados para se fazer referncia a variveis, funes, rtulos e vrios outros objetos definidos pelo usurio. Exemplos: a, b, peso, i, contaCorrente, saldo, x1, x2......
OBS: A linguagem C case sensitive, ou seja, as letras maisculas diferem das minsculas.
31
Quando voc declara um identificador d a ele um tipo. Um tipo de objeto de dados determina como valores de dados so representados, que valores pode expressar, e que tipo de operaes voc pode executar com estes valores.
Tipo char int float double Espao que ocupa na memria 1 byte 4 bytes 4 bytes 8 bytes Faixa -128 a 127 (incluindo letras e smbolos) -2147483648 a 2147483647 3.4E-38 a 3.4E+38 (6 casas de preciso) 1.7E-308 a 1.7E+308 (15 casas de preciso)
Obs.: Alguns sistemas trabalham com valores inteiros de 2 bytes, com faixa de -32768 a 32 767.
32
A exibio dos resultados do processamento e de mensagens feita atravs da funo pr-definida printf(), cujo prottipo est contido tambm no arquivo stdio.h. Sua sintaxe a seguinte: printf("Expresso" , Lista de argumentos ;
Onde:
Expresso: contm mensagens a serem exibidas, cdigos de formatao que indicam como o contedo de uma varivel deve ser exibido e cdigos especiais para a exibio de alguns caracteres especiais. Lista de argumentos: pode conter identificadores de variveis, expresses aritmticas ou lgicas e valores constantes.
33
34
Cdigo %c %d ou %i %f %lf %e %s
Elemento armazenado um nico caractere um inteiro um nmero em ponto flutuante ponto flutuante com dupla preciso um nmero na notao cientfica uma cadeia de caracteres
#include <stdio.h> int main( ) { printf("Valor recebido foi %d" ,10); return 0; }
35
#include <stdio.h> int main() { printf("Caracter A: %c" , 'A'); return 0; } #include <stdio.h> int main() { printf("Valor inteiro %d e um float %f" ,10 ,1.10); return 0; }
36
#include <stdio.h> int main() { printf("Minha string: %s", "Entendi tudo!!!! "); return 0; }
#include <stdio.h> int main() { printf("Deveria imprimir um float, "); printf("mas mandei imprimir um inteiro: %d" ,1.10); return 0; }
37
38
Por default, a maioria dos compiladores C exibem os nmeros de ponto flutuante com seis casas decimais. Para alterar este nmero podemos acrescentar .n ao cdigo de formatao da sada, sendo n o nmero de casas decimais pretendido.
#include <stdio.h> int main() { printf("Default: %f \n",3.1415169265); printf("Uma casa: %.1f \n",3.1415169265); printf("Duas casas: %.2f \n",3.1415169265); printf("Tres casas: %.3f \n",3.1415169265); printf("Notacao Cientifica: %e \n",3.1415169265); return 0; }
39
O programa pode fixar a coluna da tela a partir da qual o contedo de uma varivel, ou o valor de uma constante ser exibido. Isto obtido acrescentado-se um inteiro m ao cdigo de formatao. Neste caso, m indicar o nmero de colunas que sero utilizadas para exibio do contedo.
#include <stdio.h> int main() { printf("Valor: %d \n",25); printf("Valor: %10d \n",25); return 0; }
40
1. 2.
Fazer um programa que imprima o seu nome. Modificar o programa anterior para imprimir na primeira linha o seu nome, na segunda linha a sua idade e na terceira sua altura. Imprimir o valor 2.346728 com 1, 2, 3 e 5 casas decimais.
3.
41
O nome de uma varivel (identificador) formado por um ou mais caracteres, sendo que:
o primeiro caractere uma letra ou sublinha ( _ ); os outros caracteres podem ser letras, algarismos ou sublinha ( _ ).
Exemplos:
a) Nomes vlidos: L a de op1 V9a b) Nomes Invlidos: x+ t.6 43x &ah Lista_Notas a_2 p56 A1 _2A $dolar Lista-Notas n! %p
Uma varivel no pode ter o mesmo nome de uma palavra-chave de C, como por exemplo:
main, cout, int, float, char, short, return, case, void
42
Declarao de Variveis
As variveis s podem armazenar informaes ou dados sempre de um mesmo tipo (inteiro, real, caractere ou char). Na linguagem C, a declarao de variveis obedece a seguinte sintaxe: <tipo> <nome_var>; ou <tipo> <nome_var1>, <nome_var2>, ..... ,<nome_varn>; importante no esquecer que quando se declara uma varivel, um espao num determinado endereo na memria alocado para armazenar um dado que obrigatoriamente tem que ser do mesmo tipo que o da varivel. Toda e qualquer varivel deve ser declarada e sua declarao deve ser feita antes de sua utilizao no programa.
43
O operador de atribuio em C o sinal de igual = Sintaxe: <variavel> = <expresso>; Exemplos: int a,b,c,d; a = 5; c = 7; b = a; d = a + b + c;
ou
Aritmticos + % * / ++ -+ -
Tipo Binrio Binrio Binrio Binrio Binrio Unrio Unrio Unrio Unrio
Operao Adio Subtrao Resto da diviso Multiplicao Diviso Incremento Decremento Manuteno do sinal Inverso do sinal
Prioridade 5 5 4 3 3 2 2 1 1
46
Exemplos: a = a + b; a = a + 4; a = b / 2; a = 4 * 2 + 3; // qual o valor final de a? b = 2 * 3 2 * 2; // qual o valor final de b? a++; // similar a a = a + 1; b--; // similar a b = b 1;
47
Relacionais > >= < <= == != Maior que Maior ou igual Menor que Menor ou igual Igual Diferente && || !
48
Ela o complemento de printf() e nos permite ler dados formatados da entrada padro (teclado). Sua sintaxe:
#include <stdio.h> int main() { int num; printf("Digite um valor: "); scanf("%d",&num); printf("\nO valor digitado foi %d.",num); return 0; }
50
#include <stdio.h> int main() { int n1,n2,soma; printf("Digite dois valores: "); scanf("%d",&n1); scanf("%d",&n2); soma = n1 + n2; printf("\n%d + %d = %d.",n1,n2,soma); return 0; }
51
1.
Ler uma temperatura em graus Celsius (C) e apresentla convertida em graus Fahrenheit. A frmula de converso F = (9*C+160)/5. Calcular e apresentar o volume de uma lata de leo, utilizando a frmula: volume = 3.14159*raio*raio*altura. Elaborar um programa que calcule e apresente o volume de uma caixa retangular, por meio da frmula volume = comprimento*largura*altura.
52
2.
3.