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

INTROD.

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

Produzidos por uma organizao de desenvolvimento e vendidos no mercado Pacotes de software

Produtos sob encomenda (ou personalizados)

Encomendados por um cliente particular e desenvolvidos por uma empresa de software Sistemas de controle de dispositivos eletrnicos

Introduo a Computao

10/10/2012

Atributos de um bom software


4

Alm dos servios que eles fornecem existem outros atributos associados

No esto diretamente associados ao que o software faz


Refletem seu comportamento quando em funcionamento, A estrutura e Organizao do programa fonte e tambm A Documentao associada.

Estes Atributos:

Introduo a Computao

10/10/2012

Atributos de um bom software


5

Dependendo da aplicao do sistema, o conjunto de atributos pode mudar. Exemplos


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

Objetivo da Engenharia de Programas


6

Confeccionar programas com qualidade. Programa com qualidade:

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

A comunicao com o computador tambm feita atravs de um conjunto de regras, originando a:


Linguagem de Programao! Exemplo: Pascal, C, Delphi, Java, etc.

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

Exemplo Escovar os Dentes


12

Escovar os dentes pela manh.

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

C comparado a outras linguagens


16

Alto Nvel
Devemos

entender como a capacidade da linguagem decompreenderinstruesemdialetosprximosao Ingls Ex: Ada e Pascal

Baixo Nvel
Para

aquelas linguagens que se aproximam do Assembly, que a linguagem prpria da mquina

Introduo a Computao

10/10/2012

C comparado a outras linguagens


17

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

C uma linguagem compilada:


l

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

Estrutura Bsica de um Programa em C


22

/* Primeiro Programa em C */ #include <stdio.h> main() { printf("Meu primeiro programa em C\n"); }

Introduo a Computao

10/10/2012

Estrutura Bsica de um Programa em C


23

/* Primeiro Programa em C */ #include <stdio.h> main() { printf("Meu primeiro programa em C\n"); }

Introduo a Computao

10/10/2012

Estrutura Bsica de um Programa em C


24

/* Primeiro Programa em C */ #include <stdio.h> main() { printf("Meu primeiro programa em C\n"); }

Introduo a Computao

10/10/2012

Estrutura Bsica de um Programa em C


25

/* Primeiro Programa em C */ #include <stdio.h> main() { printf("Meu primeiro programa em C\n"); }

Introduo a Computao

10/10/2012

Estrutura Bsica de um Programa em C


26

/* Primeiro Programa em C */ #include <stdio.h> main() { printf("Meu primeiro programa em C\n"); }

Introduo a Computao

10/10/2012

Estrutura Bsica de um Programa em C


27

/* Primeiro Programa em C */ #include <stdio.h> main() { printf("Meu primeiro programa em C\n"); }

Introduo a Computao

10/10/2012

Estrutura Bsica de um Programa em C


28

/* Primeiro Programa em C */ #include <stdio.h> main() { printf("Meu primeiro programa em C\n"); }

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

Componentes mas utilizados


Terminador Comando

Entrada de Dados
Exibir Deciso
Introduo a Computao 10/10/2012

Exemplo em Fluxograma
31

Incio

Meu primeiro progrma em C

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

Este e o numero dois:

ESCREVA(num)

Fim a Computao Introduo

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.

int aviao, foguete, helicoptero;

Ooperadordeatribuio)=(usadocolocar valores em uma varivel

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

Identificador char int float double void

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

Modificadores signed unsigned long short

Efeito Bit mais significante usado como sinal Bit mais significante parte do nmero (s +) Estende preciso Reduz preciso

Introduo a Computao

10/10/2012

Tipos de Dados Resultantes


41

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

(signed) long int


unsigned long int float long float double

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

Uma varivel no pode ter o mesmo nome de uma palavra-chave de C. As Palavras-chave em C:


default float do double for goto register struct return short switch typedef volatile while char

auto break case

else
enum

if
int

signed union

const

long

sizeof unsigned continue extern

static void
Introduo a Computao 10/10/2012

Constantes
44

Um constante tem valor fixo e inaltervel. H duas maneiras de declarar constantes em C:

a) usando a diretiva #define do pr-processador:


#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)

utilizando a palavra-chave "const":


< tipo > < nome > = < valor >;

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

As rotinas de entrada/sada do console se encontram nas bibliotecas "stdio.h" e "conio.h"


#include

<stdio.h> #include <conio.h>

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

Dia!!!!); printf(Este o nmero dois: %d, num);


A funo printf()pode ter um ou vrios argumentos. Sintaxe de printf():


printf(string-formatao,

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

[largura] [.preciso] < tipo > [\Escape Sequence]"

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

Apresenta zero no incio para octais


apresenta Ox para hexadecimais apresenta ponto decimal para reais

largura = nmero mximo de caracteres a mostrar preciso = nmero de casas aps a vrgula a mostrar

Introduo a Computao 10/10/2012

printf() Escape Sequence


55

Escape Sequence Efeito


\\ \ \ Barra Apstrofo Aspas

\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

Formato Caracter Inteiro decimal Real (float)

%e, %E Formato cientfico %l, %ld Decimal Longo

%lf
%o %s %u %x

Real Longo (double)


Octal Apontador de strings, emite caracteres at aparecer zero Inteiro decimal sem sinal (unsigned int) Hexadecimal
Introduo a Computao 10/10/2012

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

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