introdução à computação - jorge macêdo1 icc – algoritmos 1 jorge macêdo

Post on 17-Apr-2015

105 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introdução à Computação - Jorge Macêdo 1

ICC – Algoritmos 1

Jorge Macêdo

Programação I - Jorge Macêdo 2

O que é software? Termo associado aos programas de

computador. Visão muito restritiva. Software compreende:

Programa Documentação

Do sistema De usuário

Programação I - Jorge Macêdo 3

O que é software? Produtos Genéricos

Produzidos por uma organização 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 eletrônicos

Programação I - Jorge Macêdo 4

Atributos de um bom software Além dos serviços que eles fornecem existem

outros atributos associados Não estão diretamente associados ao que o software faz

Estes Atributos: Refletem seu comportamento quando em

funcionamento, A estrutura e Organização do programa fonte e também A Documentação associada.

Programação I - Jorge Macêdo 5

Atributos de um bom software Dependendo da aplicação do sistema, o

conjunto de atributos pode mudar. Exemplos

Um sistema bancário deve ser seguro; Um jogo interativo deve tem uma resposta

rápida; Um sistema de controle telefonia precisa ser

confiável.

Programação I - Jorge Macêdo 6

Objetivo da Engenharia de Programas

Confeccionar programas com qualidade. Programa com qualidade:

Produz resultados úteis e confiáveis na oportunidade certa.

É fácil de usar, fácil de corrigir caso ocorra alguma falha. Fácil de modificar quando houver uma alteração de

requisitos e passível de evolução. Opera com economia de recursos, foi desenvolvido no

prazo estipulado e a um custo aceitável.

Programação I - Jorge Macêdo 7

A importância do Software Durante as 3 primeiras décadas 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 soluções baseadas em SOFTWARE!

Programação I - Jorge Macêdo 8

Linguagem de Programação A comunicação com o computador também é

feita através de um conjunto de regras, originando a: Linguagem de Programação! Exemplo: Pascal, C, Delphi, Java, etc.

Programação I - Jorge Macêdo 9

Definição de Programas Programas são seqüências finitas de ordens

que têm o objetivo de resolver um problema, apresentar uma figura, calcular valores, tomar ou auxiliar decisões.

Programação I - Jorge Macêdo 10

Lógica de Programação Para se programar em uma linguagem é

necessário possuir Lógica de Programação.

Lógica de Programação consiste em compreender claramente os diversos passos e funções que são realizados na execução de um programa.

Programação I - Jorge Macêdo 11

Algoritmo Algoritmo é uma seqüência de instruções

organizadas de forma lógica e estruturada (sem desvios), expressas em linguagem natural (Português estruturado), que tem por finalidade resolver um problema ou descrever uma tarefa.

Programação I - Jorge Macêdo 12

Exemplo – Escovar os Dentes 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.

Introdução à Computação - Jorge Macêdo 13

Introdução ao C C é uma linguagem de programação de propósito

geral Tem como meta características como:

Portabilidade e Flexibilidade Não é atada a nenhum S.O. ou uma máquina

particular. Tida como linguagem de programação de sistemas

Bastante utilizada na construção de compiladores e S.O.’s

Introdução à Computação - Jorge Macêdo 14

Introdução ao C A primeira versão foi implementada para o sistema

operacional UNIX pela Bell Laboratories Dennis M. Ritchie e Ken Thompson

Implementaram no início da década de 1970 Rodava em um PDP11 da DEC (Digital Equipment

Corporation) C Difundiu-se rapidamente (1983) ANSI (American National Standard

Institurte) padronizou a linguagem

Introdução à Computação - Jorge Macêdo 15

Introdução ao C Tornou-se popular como ferramenta para

programação de computadores pessoais Para fabricantes de software comercial Para usuários finais interessados em

programação

Introdução à Computação - Jorge Macêdo 16

C comparado a outras linguagens Alto Nível

Devemos entender como a capacidade da linguagem de compreender instruções em “dialetos” próximos ao Inglês

Ex: Ada e Pascal Baixo Nível

Para aquelas linguagens que se aproximam do Assembly, que a linguagem própria da máquina

Introdução à Computação - Jorge Macêdo 17

C comparado a outras linguagens Quanto mais clara uma linguagem for para o

humano (simplicidade >) Mais obscura o será para a máquina

(velocidade <).

Introdução à Computação - Jorge Macêdo 18

Programa

Introdução à Computação - Jorge Macêdo 19

Compilação e Interpretação C é uma linguagem compilada:

lê todo o código fonte e gera o código objeto (ling. de máquina) uma única vez.

Linguagens Interpretadas: lê o código fonte, traduz e executa cada vez que

o programa for executado.

Introdução à Computação - Jorge Macêdo 20

Interpretação

Introdução à Computação - Jorge Macêdo 21

Compilação

Introdução à Computação - Jorge Macêdo 22

Estrutura Básica de um Programa em C

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

Introdução à Computação - Jorge Macêdo 23

Estrutura Básica de um Programa em C

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

Introdução à Computação - Jorge Macêdo 24

Estrutura Básica de um Programa em C

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

Introdução à Computação - Jorge Macêdo 25

Estrutura Básica de um Programa em C

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

Introdução à Computação - Jorge Macêdo 26

Estrutura Básica de um Programa em C

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

Introdução à Computação - Jorge Macêdo 27

Estrutura Básica de um Programa em C

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

Introdução à Computação - Jorge Macêdo 28

Estrutura Básica de um Programa em C

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

Introdução à Computação - Jorge Macêdo 29

Tem por objetivo buscar a solução de um dado problema dividindo-o em pequenas partes.

Essa divisão visa facilitar a compreensão do problema.

Após a fase de interpretação do problema e da definição das variáveis a serem utilizadas, pode-se diagramar o algoritmo com o uso de fluxogramas.

Fluxograma

Introdução à Computação - Jorge Macêdo 30

Fluxograma

Terminador

Comando

Entrada de Dados

Exibir

Decisão

Componentes mas utilizados

Introdução à Computação - Jorge Macêdo 31

Exemplo em Fluxograma

Início

Meu primeiro progrma em C

Fim

Introdução à Computação - Jorge Macêdo 32

Variável Variável: “objeto” que pode assumir diversos

valores; Espaço de memória de um certo tipo de dado

associado a um nome para referenciar seu conteúdo.

Podem estar declaradas no início do arquivo fonte (globais) São visíveis em todo o programa fonte

Ou em funções (locais) Visíveis somente nas funções onde são declaradas

Introdução à Computação - Jorge Macêdo 33

Nomes de Variáveis Podem ser formados por letras e números Deve começar por uma letra Sublinhado também pode ser considerado

uma letra.

Introdução à Computação - Jorge Macêdo 34

Exemplo 01/* Programa : Exemplo de variáveis! */#include <stdio.h>void main(){

int num; /* declaracao */num = 2; /* inicializa */printf(“Este é o número dois: %d”, num); /*acessa a variável */getchar();

}

Introdução à Computação - Jorge Macêdo 35

Exemplo 01

Início

Fim

num ← 2

Este e o numero dois:

ESCREVA(num)

Introdução à Computação - Jorge Macêdo 36

Variáveis - Continuação Em C todas as variáveis devem ser declaradas Se você tiver mais de uma variável do mesmo tipo,

poderá declará-las de uma única vez separando seus nomes por vírgulas. int aviao, foguete, helicoptero;

O operador de atribuição ( = ) é usado “colocar” valores em uma variável

Introdução à Computação - Jorge Macêdo 37

Tipos de Dados O tipo de uma variável informa a quantidade

de memória, em bytes, que esta irá ocupar e a forma como o seu conteúdo será armazenado.

Em C existem apenas 5 tipos básicos de variáveis, sendo: int,float,double,char e void

Introdução à Computação - Jorge Macêdo 38

Tipos de Dados

Sem valorvoid

Real de Ponto Flutuante de Dupla Precisãodouble

Real de Ponto Flutuantefloat

Inteiroint

Caracterchar

CategoriaIdentificador

Introdução à Computação - Jorge Macêdo 39

Modificadores Com exceção de void, os tipos de dados

básicos podem estar acompanhados por “modificadores” na declaração de variáveis. Os “modificadores” de tipos oferecidos em C são: signed,unsigned,long e short

Introdução à Computação - Jorge Macêdo 40

Modificadores

Reduz precisãoshort

Estende precisãolong

Bit mais significante é parte do número (só +)unsigned

Bit mais significante é usado como sinalsigned

EfeitoModificadores

Introdução à Computação - Jorge Macêdo 41

Tipos de Dados Resultantes

±1,7E-308 a ±1,7E+3088 Bytesdouble

±1,7E-308 a ±1,7E+3088 Byteslong float

±3,4E-38 a ±3,4E+384 Bytesfloat

0 a 4.294.967.2954 Bytesunsigned long int

-2.147.483.648 a +2.147.483.647

4 Bytes(signed) long int

0 a 65.5352 Bytes(short) unsigned int

-32.768 a +32.7672 Bytes(short) (signed) int

0 a 2551 Byteunsigned char

-128 a +1271 Byte(signed) char

Valores PossíveisTamanhoTipo

Introdução à Computação - Jorge Macêdo 42

Dica A escolha de nomes significativos para suas

variáveis pode ajudá-lo a entender o que o programa faz e prevenir erros.

Introdução à Computação - Jorge Macêdo 43

Palavras-chave

Uma variável não pode ter o mesmo nome de uma palavra-chave de C.

As Palavras-chave em C:

voidstatic

externcontinueunsignedsizeofintenum

longconstunionsignedif else

chartypedefshortgotodoublecase

whileswitchreturnfordobreak

volatilestructregisterfloatdefaultauto

Introdução à Computação - Jorge Macêdo 44

Constantes Um constante tem valor fixo e inalterável. 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 aparição do nome da constante

no código seja substituída antes da compilação pelo valor atribuído.

A diretiva deve ser colocada no inicio do arquivo e tem valor global. Não é reservado espaço de memória no momento da declaração define.

Introdução à Computação - Jorge Macêdo 45

Constantes Exemplo:

#define tamanho 400 #define true 1 #define false 0 /*não usa ";" nem "=" */

b) utilizando a palavra-chave "const": const < tipo > < nome > = < valor >;

Esta forma reserva espaço de memória para uma variável do tipo declarado.

Uma constante assim declarada só pode aparecer do lado direito de qualquer equação.

Introdução à Computação - Jorge Macêdo 46

Constantes Exemplo:

const char letra = 'a'; const int size = 400; const double gravidade = 9.81;

Introdução à Computação - Jorge Macêdo 47

Constantes Em C uma constante caractere é escrita

entre aspas simples, uma constante cadeia de caracteres entre aspa duplas e constantes numéricas com o número propriamente dito.

Exemplos de constantes: caractere: ‘a’ cadeia de caracteres: “Bom Dia !!!!” número: -3.141523

Introdução à Computação - Jorge Macêdo 48

Constantes – Exemplo 02/* Programa: Exemplo do uso de

Constantes */#define TAMANHO 4void main(){

const char c = ‘c’;const int num = 10;int val = TAMANHO;

}

Introdução à Computação - Jorge Macêdo 49

Entrada/Saída Console As rotinas de entrada/saída do console se

encontram nas bibliotecas "stdio.h" e "conio.h" #include <stdio.h> #include <conio.h>

Introdução à Computação - Jorge Macêdo 50

printf() A função printf() é uma das funções de

E/S (entrada e saída) que podem ser usadas em C.

Ela não faz parte da definição de C mas todos os sistemas têm uma versão de printf() implementada.

Ela permite a saída formatada na tela.

Introdução à Computação - Jorge Macêdo 51

printf() Exemplos:

printf(“Bom Dia!!!!”); printf(“Este é o número dois: %d”,

num); A função printf()pode ter um ou vários

argumentos. Sintaxe de printf():

printf(“string-formatação”, < lista de parâmetros >);

Introdução à Computação - Jorge Macêdo 52

printf() A string de formatação pode conter caracteres que

serão exibidos na tela e códigos de formatação que indicam o formato em que os argumentos devem ser impressos.

Os caracteres que não podem ser obtidos diretamente do teclado para dentro do programa (como a mudança de linha) são escritos em C, como a combinação do sinal \ (barra invertida) com outros caracteres

Introdução à Computação - Jorge Macêdo 53

printf() A string de formatação define a forma

como os parâmetros serão apresentados e tem os seguintes campos: "%[Flags] [largura] [.precisão] < tipo > [\Escape

Sequence]"

Introdução à Computação - Jorge Macêdo 54

printf() - Flags

largura = número máximo de caracteres a mostrar

precisão = número de casas após a vírgula a mostrar

apresenta ponto decimal para reais

apresenta Ox para hexadecimais

Apresenta zero no início para octais#

Apresenta branco se o valor (da variável) for positivo, sinal de – se valor negativo

Branco

Apresenta sinal (+ ou -) do valor da variável+

Justifica saída à esquerda-

EfeitoFlags

Introdução à Computação - Jorge Macêdo 55

printf() – Escape Sequence

Valor em Hexadecimal\x

Tabulação\t

Retorno do Cursor\r

Valor em Octal\o

Nova Linha\n

Saltar Página de Formulário\f

Backspace (Retrocesso)\b

Tocar Sino (Bell)\a

Nulo\0

Aspas\”

Apóstrofo\’

Barra\\

EfeitoEscape Sequence

Introdução à Computação - Jorge Macêdo 56

printf() - tipo

Hexadecimal %x

Inteiro decimal sem sinal (unsigned int)%u

Apontador de strings, emite caracteres até aparecer zero

%s

Octal%o

Real Longo (double)%lf

Decimal Longo%l, %ld

Real (float)%f

Formato científico%e, %E

Inteiro decimal%d, %i

Caracter%c

FormatoTipo

Introdução à Computação - Jorge Macêdo 57

Exemplo 03/* Programa de Exemplo da formatação da saída 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 após escrever bom dia */printf("O valor de x é %7.3f\n", x);printf("Os valores de i, j e y são: %d %d %lf \n", a,b,y);

}

Introdução à Computação - Jorge Macêdo 58

Exemplo 03/* Programa de Exemplo da formatação da saída 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 após 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);

}

Bom dia Bom diaO valor de x eh 3.142Os valores de i, j e y sao: 12, 12, -203.457235

Introdução à Computação - Jorge Macêdo 59

Observação Caso você queira imprimir na tela os

caracteres especiais ‘\’ ou ‘%’, você deve escrevê-los na função printf() de forma duplicada

O que indicará ao compilador que este não se trata de um parâmetro da função printf() mas sim que deseja-se imprimir realmente este caractere.

Introdução à Computação - Jorge Macêdo 60

Exemplo#include <stdio.h>void main(){

int reajuste = 10;printf(“O reajuste foi de %d%%\n”, reajuste);

} A saída será:

O reajuste foi de 10%

top related