Академический Документы
Профессиональный Документы
Культура Документы
A COMPUTAO ALGORITMOS 1
Ricardo Viana / Nayane Ponte
O que software?
2
Termo associado aos programas de computador. Viso muito restritiva. Software compreende:
Programa Documentao
Do
sistema De usurio
Introduo a Computao
10/10/2012
O que software?
3
Produtos Genricos
Encomendados por um cliente particular e desenvolvidos por uma empresa de software Sistemas de controle de dispositivos eletrnicos
Introduo a Computao
10/10/2012
Alm dos servios que eles fornecem existem outros atributos associados
Estes Atributos:
Introduo a Computao
10/10/2012
Um sistema bancrio deve ser seguro; Um jogo interativo deve tem uma resposta rpida; Um sistema de controle telefonia precisa ser confivel.
Introduo a Computao
10/10/2012
Produz resultados teis e confiveis na oportunidade certa. fcil de usar, fcil de corrigir caso ocorra alguma falha. Fcil de modificar quando houver uma alterao de requisitos e passvel de evoluo. Opera com economia de recursos, foi desenvolvido no prazo estipulado e a um custo aceitvel.
Introduo a Computao
10/10/2012
A importncia do Software
7
Durante as 3 primeiras dcadas da era do computador, o principal desafio era desenvolver um HARDWARE de baixo custo e alto desempenho. O hoje o desafio melhorar a qualidade (e reduzir os custos) das solues baseadas em SOFTWARE!
Introduo a Computao
10/10/2012
Linguagem de Programao
8
Introduo a Computao
10/10/2012
Definio de Programas
9
Programas so seqncias finitas de ordens que tm o objetivo de resolver um problema, apresentar uma figura, calcular valores, tomar ou auxiliar decises.
Introduo a Computao
10/10/2012
Lgica de Programao
10
Para se programar em uma linguagem necessrio possuir Lgica de Programao. Lgica de Programao consiste em compreender claramente os diversos passos e funes que so realizados na execuo de um programa.
Introduo a Computao
10/10/2012
Algoritmo
11
Algoritmo uma seqncia de instrues organizadas de forma lgica e estruturada (sem desvios), expressas em linguagem natural (Portugus estruturado), que tem por finalidade resolver um problema ou descrever uma tarefa.
Introduo a Computao
10/10/2012
Algoritmo Escovar_dentes
Colocar
creme dental na escova Escova os dentes Enxaguar a boca com gua Enxugar a boca
Fim_do_algoritmo.
Introduo a Computao
10/10/2012
Introduo ao C
13
C uma linguagem de programao de propsito geral Tem como meta caractersticas como:
Portabilidade e Flexibilidade
No atada a nenhum S.O. ou uma mquina particular. Tida como linguagem de programao de sistemas
BastanteutilizadanaconstruodecompiladoreseS.O.s
Introduo a Computao
10/10/2012
Introduo ao C
14
A primeira verso foi implementada para o sistema operacional UNIX pela Bell Laboratories Dennis M. Ritchie e Ken Thompson
Implementaram no incio da dcada de 1970 Rodava em um PDP11 da DEC (Digital Equipment Corporation)
C Difundiu-se rapidamente (1983) ANSI (American National Standard Institurte) padronizou a linguagem
Introduo a Computao
10/10/2012
Introduo ao C
15
Tornou-se popular como ferramenta para programao de computadores pessoais Para fabricantes de software comercial Para usurios finais interessados em programao
Introduo a Computao
10/10/2012
Alto Nvel
Devemos
Baixo Nvel
Para
Introduo a Computao
10/10/2012
Quanto mais clara uma linguagem for para o humano (simplicidade >) Mais obscura o ser para a mquina (velocidade <).
Introduo a Computao
10/10/2012
Programa
18
Introduo a Computao
10/10/2012
Compilao e Interpretao
19
todo o cdigo fonte e gera o cdigo objeto (ling. de mquina) uma nica vez. o cdigo fonte, traduz e executa cada vez que o programa for executado.
Linguagens Interpretadas:
l
Introduo a Computao
10/10/2012
Interpretao
20
Introduo a Computao
10/10/2012
Compilao
21
Introduo a Computao
10/10/2012
Introduo a Computao
10/10/2012
Introduo a Computao
10/10/2012
Introduo a Computao
10/10/2012
Introduo a Computao
10/10/2012
Introduo a Computao
10/10/2012
Introduo a Computao
10/10/2012
Introduo a Computao
10/10/2012
Fluxograma
29
Tem por objetivo buscar a soluo de um dado problema dividindo-o em pequenas partes. Essa diviso visa facilitar a compreenso do problema. Aps a fase de interpretao do problema e da definio das variveis a serem utilizadas, podese diagramar o algoritmo com o uso de fluxogramas.
Introduo a Computao 10/10/2012
Fluxograma
30
Entrada de Dados
Exibir Deciso
Introduo a Computao 10/10/2012
Exemplo em Fluxograma
31
Incio
Fim
Introduo a Computao
10/10/2012
Varivel
32
Varivel:objetoquepodeassumirdiversos valores; Espao de memria de um certo tipo de dado associado a um nome para referenciar seu contedo. Podem estar declaradas no incio do arquivo fonte (globais)
So visveis em todo o programa fonte Visveis somente nas funes onde so declaradas
Ou em funes (locais)
Introduo a Computao
10/10/2012
Nomes de Variveis
33
Podem ser formados por letras e nmeros Deve comear por uma letra Sublinhado tambm pode ser considerado uma letra.
Introduo a Computao
10/10/2012
Exemplo 01
34
/* Programa : Exemplo de variveis! */ #include <stdio.h> void main() { int num; /* declaracao */ num = 2; /* inicializa */ printf(Este o nmero dois: %d, num); /*acessa a varivel */ getchar(); }
Introduo a Computao
10/10/2012
Exemplo 01
35
Incio num 2
ESCREVA(num)
10/10/2012
Variveis - Continuao
36
Em C todas as variveis devem ser declaradas Se voc tiver mais de uma varivel do mesmo tipo, poder declar-las de uma nica vez separando seus nomes por vrgulas.
Introduo a Computao
10/10/2012
Tipos de Dados
37
O tipo de uma varivel informa a quantidade de memria, em bytes, que esta ir ocupar e a forma como o seu contedo ser armazenado. Em C existem apenas 5 tipos bsicos de variveis, sendo:
int,float,double,char
e void
Introduo a Computao
10/10/2012
Tipos de Dados
38
Categoria Caracter Inteiro Real de Ponto Flutuante Real de Ponto Flutuante de Dupla Preciso Sem valor
Introduo a Computao
10/10/2012
Modificadores
39
Com exceo de void, os tipos de dados bsicos podem estar acompanhados por modificadores na declarao de variveis. Os modificadores de tipos oferecidos em C so:
signed,unsigned,long
e short
Introduo a Computao
10/10/2012
Modificadores
40
Efeito Bit mais significante usado como sinal Bit mais significante parte do nmero (s +) Estende preciso Reduz preciso
Introduo a Computao
10/10/2012
Tipo
(signed) char unsigned char (short) (signed) int (short) unsigned int
Tamanho
1 Byte 1 Byte 2 Bytes 2 Bytes
Valores Possveis
-128 a +127 0 a 255 -32.768 a +32.767 0 a 65.535
4 Bytes
4 Bytes 4 Bytes 8 Bytes 8 Bytes
-2.147.483.648 a +2.147.483.647
0 a 4.294.967.295 3,4E-38 a 3,4E+38 1,7E-308 a 1,7E+308 1,7E-308 a 1,7E+308
10/10/2012
Introduo a Computao
Dica
42
A escolha de nomes significativos para suas variveis pode ajud-lo a entender o que o programa faz e prevenir erros.
Introduo a Computao
10/10/2012
Palavras-chave
43
else
enum
if
int
signed union
const
long
static void
Introduo a Computao 10/10/2012
Constantes
44
#define < nome da constante > < valor > Esta diretiva faz com que toda apario do nome da constante no cdigo seja substituda antes da compilao pelo valor atribudo. A diretiva deve ser colocada no inicio do arquivo e tem valor global. No reservado espao de memria no momento da declarao define.
Introduo a Computao
10/10/2012
Constantes
45
Exemplo:
#define
tamanho 400 #define true 1 #define false 0 /*no usa ";" nem "=" */
b)
const
Esta
forma reserva espao de memria para uma varivel do tipo declarado. Uma constante assim declarada s pode aparecer do lado direito de qualquer equao.
Introduo a Computao 10/10/2012
Constantes
46
Exemplo:
const
char letra = 'a'; const int size = 400; const double gravidade = 9.81;
Introduo a Computao
10/10/2012
Constantes
47
Em C uma constante caractere escrita entre aspas simples, uma constante cadeia de caracteres entre aspa duplas e constantes numricas com o nmero propriamente dito. Exemplos de constantes:
caractere:a
cadeiadecaracteres:BomDia!!!! nmero:
-3.141523
Introduo a Computao
10/10/2012
Constantes Exemplo 02
48
/* Programa: Exemplo do uso de Constantes */ #define TAMANHO 4 void main() { const char c = c; const int num = 10; int val = TAMANHO; }
Introduo a Computao 10/10/2012
Entrada/Sada Console
49
Introduo a Computao
10/10/2012
printf()
50
A funo printf() uma das funes de E/S (entrada e sada) que podem ser usadas em C. Ela no faz parte da definio de C mas todos os sistemas tm uma verso de printf() implementada. Ela permite a sada formatada na tela.
Introduo a Computao
10/10/2012
printf()
51
Exemplos:
printf(Bom
< lista de
parmetros >);
Introduo a Computao
10/10/2012
printf()
52
A string de formatao pode conter caracteres que sero exibidos na tela e cdigos de formatao que indicam o formato em que os argumentos devem ser impressos. Os caracteres que no podem ser obtidos diretamente do teclado para dentro do programa (como a mudana de linha) so escritos em C, como a combinao do sinal \ (barra invertida) com outros caracteres
Introduo a Computao
10/10/2012
printf()
53
A string de formatao define a forma como os parmetros sero apresentados e tem os seguintes campos:
"%[Flags]
Introduo a Computao
10/10/2012
printf() - Flags
54
Flags + Branco
Efeito Justifica sada esquerda Apresenta sinal (+ ou -) do valor da varivel Apresenta branco se o valor (da varivel) for positivo, sinal de se valor negativo
largura = nmero mximo de caracteres a mostrar preciso = nmero de casas aps a vrgula a mostrar
\0
\a \b \f \n \o
Nulo
Tocar Sino (Bell) Backspace (Retrocesso) Saltar Pgina de Formulrio Nova Linha Valor em Octal
\r
\t \x
Retorno do Cursor
Tabulao Valor em Hexadecimal
Introduo a Computao 10/10/2012
printf() - tipo
56
Tipo %c %d, %i %f
%lf
%o %s %u %x
Exemplo 03
57
/* Programa de Exemplo da formatao da sada com Printf() */ #include <stdio.h> int main() { float x; double y = -203.4572345; int a, b; a = b = 12; x = 3.141523; printf("Bom dia"); printf("\n\t\tBom dia\n"); /* pula linha aps escrever bom dia */ printf("O valor de x %7.3f\n", x); printf("Os valores de i, j e y so: %d %d %lf \n", a,b,y); }
Introduo a Computao
10/10/2012
Exemplo 03
58
/* Programa de Exemplo da formatao da sada com Printf() */ #include <stdio.h> int main() { float x; Bom dia y = -203.4572345; double int a, b; Bom dia a = b = 12; O valor de x eh 3.142 x = 3.141523; Os printf("Bom de i, j e y sao: 12, 12, -203.457235 valores dia"); printf("\n\t\tBom dia\n"); /* pula linha aps escrever bom dia */ printf("O valor de x eh %6.3f\n", x); printf("Os valores de i, j e y sao: %d, %d, %lf \n", a,b,y); }
Introduo a Computao
10/10/2012
Observao
59
Caso voc queira imprimir na tela os caracteres especiais\ou,%vocdeveescrev-los na funo printf() de forma duplicada O que indicar ao compilador que este no se trata de um parmetro da funo printf() mas sim que deseja-se imprimir realmente este caractere.
Introduo a Computao
10/10/2012
Exemplo
60
#include <stdio.h> void main() { int reajuste = 10; printf(O reajuste foi de %d%%\n, reajuste); } A sada ser:
O reajuste foi de 10%
Introduo a Computao
10/10/2012