A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 02 Aquiles Burlamaqui UERN 2007.1.

Apresentações semelhantes


Apresentação em tema: "Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 02 Aquiles Burlamaqui UERN 2007.1."— Transcrição da apresentação:

1 Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 02 Aquiles Burlamaqui UERN

2 Construção de Algoritmos Professor: Aquiles Burlamaqui …previously Apresentação da Disciplina Definição de algoritmo Conceitos de memória, variáveis e constantes. Tipos básicos de dados

3 Construção de Algoritmos Professor: Aquiles Burlamaqui Variáveis Guardar dados Nome Tipo Informação Pseudocódigo :

4 Construção de Algoritmos Professor: Aquiles Burlamaqui Variáveis Existem algumas regras básicas que regulam a o batismo de variáveis. Estas regras básicas são: Todo nome só pode conter letras e dígitos; O caractere "_" é contado como uma letra; Todo primeiro caractere deve ser sempre uma letra; Letras maiúsculas e minúsculas são consideradas caracteres diferentes;

5 Construção de Algoritmos Professor: Aquiles Burlamaqui Constantes Reserva um espaço na memória acessado através do seu endereço que é vinculado no algoritmo a um nome; Esse espaço possui tamanho necessário para guardar seu tipo de dado, e guarda um valor fixo do início ao final do programa; Sintaxe: Constante = ; Ex: Constante pi = 3,14;

6 Construção de Algoritmos Professor: Aquiles Burlamaqui Conteúdo Programático Unidade I Fundamentos de Lógica de Programação Algoritmo (metalinguagem) Conceitos de memória, variáveis e constantes. Tipos básicos de dados Operadores aritméticos, relacionais e lógicos. Comandos básicos de entrada e saída e atribuição Conceito de bloco de comandos Estruturas de controle de fluxo – condicionais (se, se-senão e caso) Estruturas de controle de fluxo – repetições (para, enquanto e repita-enquanto) Estruturas de Dados Homogêneas (vetores e matrizes) Unidade II Estruturas de Dados Heterogêneas (registros) Modularização Variáveis locais e globais Funções Passagem de parâmetros por valor e por referência Funções recursivas Biblioteca de funções Unidade III Algoritmos de Busca Ponteiros Conceitos Operador endereço e operador de acesso indireto Alocação dinâmica de memória Arquivo

7 Construção de Algoritmos Professor: Aquiles Burlamaqui Expressões Expressão é uma combinação de variáveis, constantes e operadores que, uma vez avaliada, resulta num valor Operadores Quanto ao número de operandos Unários Binários Quanto ao tipo de dado Operadores Aritméticos Operadores Lógicos Operadores Literais Operadores Relacionais

8 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores Aritméticos OperadorTipo OperaçãoPrioridade +binário adição 4 - subtração 4 * multiplicação 3 / divisão 3 ** exponenciação 2 +unário manutenção de sinal 1 - inversão de sinal 1

9 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores Aritméticos Vamos considerar alguns exemplos para mostrar como estas regras são aplicadas. Considere as seguintes variáveis: A=2.0 B=4.0 C=1.0 Vamos então analisar expressões com estas variáveis e seus resultados. A*B-C A*(B-C) B+A/C+5 (B+A)/(C+5)

10 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores Aritméticos 1)5x 3 + 7x 2 – 3x – 1 Resp.: 5.0*x** *x**2 – 3.0*x –1.0 2)x0 + v0t – 1 gt 2 2 Resp.:xo + vo*t – 0.5*g*t**2

11 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores Lógicos Operador Tipo Operação Prioridade.OU. bináriodisjunção 3.E. binárioconjunção 2.NÃO. unárionegação 1

12 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores Relacionais Operador Comparação = igual <> diferente < menor <= menor ou igual > maior >= maior ou igual

13 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores Literais Não há padronização para seus operadores. Vamos considerar apenas o operador de concatenação ( + ). Exemplo: sonha + dor resulta sonhador

14 Construção de Algoritmos Professor: Aquiles Burlamaqui Avaliação de Expressões Regras: Observar a prioridade dos operadores. Se houver empate, considera-se a expressão da esquerda para a direita. Os parênteses alteram a prioridade, forçando a avaliação da subexpressão em seu interior.

15 Construção de Algoritmos Professor: Aquiles Burlamaqui Instruções Primitivas Entrada Saída Atribuição

16 Construção de Algoritmos Professor: Aquiles Burlamaqui Entrada Sintaxe :Leia ( ) Semântica : Os dados são fornecidos ao computador por meio de um dispositivo de entrada e armazenados nas posições de memória das variáveis cujos nomes aparecem na lista. Exemplo: Leia ( x ) Leia ( a, b, c )

17 Construção de Algoritmos Professor: Aquiles Burlamaqui Saída Sintaxe : Escreva ( ) Semântica : Os argumentos são enviados para o dispositivo de saída. No caso de uma lista de variáveis, o conjunto de cada uma delas é pesquisado na posição de memória correspondente a variável. No caso de argumento constante(número, literal ou lógico) este é enviado diretamente ao referido dispositivo. E no caso de expressões, após sua avaliação, segue como uma constante. Exemplos: Escreva (Programa elaborado pelo aluno Thiago.) Escreva (Digite um número inteiro positivo:) Escreva (Lados do triângulo:, L1, L2, L3 ) Escreva (Area do circulo =, pi*r**2) Escreva (Area =, x*y, Perimetro =, 2*(x + y))

18 Construção de Algoritmos Professor: Aquiles Burlamaqui Saída Regras Básicas (Interface com o Usuário: fase de execução) Toda vez que um programa estiver esperando que o usuário forneça a ele um determinado dado (operação de leitura), ele deve antes enviar uma mensagem dizendo o que o usuário deve digitar, por meio de um instrução de saída. Antes de enviar qualquer resultado ao usuário, um programa deve escrever uma mensagem explicando o significado do mesmo.

19 Construção de Algoritmos Professor: Aquiles Burlamaqui Atribuição É a principal maneira de se armazenar uma informação numa variável. Sintaxe : Semântica : 1) avaliação da expressão 2) armazenamento do valor resultante na posição de memória correspondente à variável que aparece à esquerda do comando. Importante : Deve haver compatibilidade entre o tipo de dado resultante da avaliação da expressão e o tipo de dado da variável ( a não ser, propositadamente, com tipos numéricos).

20 Construção de Algoritmos Professor: Aquiles Burlamaqui Controle de Fluxo de um Programa Comando Composto Estrutura Seqüencial Estrutura de Decisão Se Caso Estrutura de Repetição Para Enquanto Repita

21 Construção de Algoritmos Professor: Aquiles Burlamaqui Comando Composto É um conjunto de comandos simples como atribuição, entrada, saída ou algumas construções (estruturas) apresentadas a seguir. Ex: Escreve((a+b)/15) ou bas =(- b + (b * b – 4.* a * c)**0.5)/(2 * a)

22 Construção de Algoritmos Professor: Aquiles Burlamaqui Estrutura Seqüencial Cada comando é executado somente após o término do comando anterior. Ex: Escreve(Qual o valor da conta?) Leia(b); a b * 0.1 Escreve(10 % do garçom dá:+a)

23 Construção de Algoritmos Professor: Aquiles Burlamaqui Estrutura de Decisão Classificação quanto ao número de condições: uma condição ( decisão simples ) : estrutura do SE várias condições ( decisão múltipla ) : estrutura do ESCOLHA

24 Construção de Algoritmos Professor: Aquiles Burlamaqui Se Sintaxe: Se ( ) então senão Fim_se Fim_se

25 Construção de Algoritmos Professor: Aquiles Burlamaqui Se Aninhados Algoritmo Max_min Real: a, b, c, max, min Início Escreva (Digite tres numeros: ) Leia (a, b, c) Se ( a < b ) então Se ( b < c ) então min a max c senão max b Se ( a < c ) então min a senão min c Fim_se senão Se ( b > c ) então min c max a senão min b Se ( a > c ) então max a senão max c Fim_se Escreva (Maior numero =, max) Escreva (Menor numero =, min) Fim

26 Construção de Algoritmos Professor: Aquiles Burlamaqui Escolha...Caso Sintaxe: Escolha( ) Caso( )faça Caso( )faça. Caso( )faça senão Fim_escolha

27 Construção de Algoritmos Professor: Aquiles Burlamaqui Escolha...Caso Algoritmo Calculadora Real: num1,num2 Literal[2]: op Inicio Escreva(Digite um numero, o operador e outro numero: ) Leia(num1,op,num2) Escolha(op) Caso(op=+)faça Escreva(num1,op,num2, =, num1+num2) Caso(op=– )faça Escreva(num1,op,num2, =, num1 – num2) Caso(op=* )faça Escreva(num1,op,num2, =,num1* num2) Caso(op= / )faça Se(num2<>0)então Escreva(num1,op,num2, =,num1/ num2) Senão Escreva(Não existe divisão por zero.) Fim_se Senão Escreva(Operador desconhecido.) Fim_escolha Fim

28 Construção de Algoritmos Professor: Aquiles Burlamaqui Estrutura de Repetição Tipos Contados Para – Faça Condicionais ENQUANTO – FAÇA REPITA – ATÉ

29 Construção de Algoritmos Professor: Aquiles Burlamaqui Para- Faça Sintaxe: Para de até passo faça Fim_para

30 Construção de Algoritmos Professor: Aquiles Burlamaqui Algoritmo Fatorial Inteiro: num,k,fat Início Escreva(Digite um número:) Leia(num) Se(num >= 0)então fat 1 Para k de 2 até num passo 1 faça fat fat*k Fim_para Escreva(Fatorial de, num, igual a,fat) Senão Escreva(Não existe fatorial de número negativo.) Fim_se Fim

31 Construção de Algoritmos Professor: Aquiles Burlamaqui Enquanto - Faça Sintaxe: Enquanto ( )faça Fim_enquanto

32 Construção de Algoritmos Professor: Aquiles Burlamaqui Algoritmo MDC Inteiro: a, b Início Escreva (Digite dois numeros inteiro positivos: ) Leia (a,b) Se ( a>0.e. b>0 ) então Enquanto ( a b ) faça Se ( a > b ) então a a – b senão b b – a Fim_se Fim_enquanto Escreva ( mdc =, a) Senão Escreva (Dados incorretos.) Fim_se Fim

33 Construção de Algoritmos Professor: Aquiles Burlamaqui Repita - Até Sintaxe: Repita Até ( )

34 Construção de Algoritmos Professor: Aquiles Burlamaqui Algoritmo Divisores Inteiro: num, div Início Repita Escreva (Digite um numero inteiro positivo: ) Leia (num) Até (num > 0) Escreva (Divisores do número, num) div 1 Repita Se ( num / div * div = num) então Escreva (div) Fim_se div div + 1 Até (div > num) Fim

35 Construção de Algoritmos Professor: Aquiles Burlamaqui Linguagem C

36 Construção de Algoritmos Professor: Aquiles Burlamaqui Linguagem de Programação C Criada em 1972 por Dennis Ritchie Inicialmente para uso no UNIX Características Linguagem de programação imperativa Apenas 32 palavras-chave Estruturação modular, módulos compilados separadamente Ponteiros como tipo de dado Passagem de argumentos por valor Facilidade de trabalhar os dados em bits Nível intermediário entre nível de máquina e alto nível

37 Construção de Algoritmos Professor: Aquiles Burlamaqui Linguagem de Programação C Uso: Desenvolvimento de software de sistemas operacionais: Drivers; Kernel; Api; Etc. Desenvolvimento de sistemas embutidos; Etc.

38 Construção de Algoritmos Professor: Aquiles Burlamaqui Palavras reservadas do ANSI C autodoubleintstruct breakelselongswitch caseenumregistertypedef charexternreturnunion constfloatshortunsigned continueforsignedvoid defaultgotosizeofvolatile doifstaticwhile

39 Construção de Algoritmos Professor: Aquiles Burlamaqui Estrutura básica de um programa em C /* Modelo de programa em C */ int main() { return(0); }

40 Construção de Algoritmos Professor: Aquiles Burlamaqui Programa Olá Mundo Copie o texto a seguir em um editor de textos, e salve com um nome qualquer, mas extensão.c /* Programa Olá Mundo */ #include int main() { printf(Olá mundo!); return(0); }

41 Construção de Algoritmos Professor: Aquiles Burlamaqui Compilando um código em C Após escrever e salvar um código em c, vá para o terminal e digite: gcc -o Em seguida, digite no terminal:./ Observe o resultado da saída no terminal.

42 Construção de Algoritmos Professor: Aquiles Burlamaqui Comentários Por área selecionada /* - início da área de comentário... */ - fim da área Por linha //

43 Construção de Algoritmos Professor: Aquiles Burlamaqui Tipos Primitivos TipoEspecificaçãoBytesValores charArmazena um byte com sinal a 127 unsigned char Armazena um byte sem sinal.10 a 255 intInteiro.4-2,147,483,648 a +2,147,483,647 short intInteiro curto.2 -32,768 a +32,767 long intInteiro longo.4-2,147,483,648 a +2,147,483,647

44 Construção de Algoritmos Professor: Aquiles Burlamaqui Tipos Primitivos TipoEspecificaçãoBytesValores unsigned intInteiro sem sinal.4 0 a +4,294,967,295 unsigned short Inteiro curto sem sinal.20 a +65,535 unsigned long Inteiro longo com sinal.40 a +4,294,967,295 floatReal.43.4E-38 a 3.4E+38 doubleReal com dobro de precisão.81.7E-308 a 1.7E+308 long doubleReal com presisão de 19 dígitos.103.4E-4932 a 3.4E+4932 voidNenhum valor.0

45 Construção de Algoritmos Professor: Aquiles Burlamaqui Declaração de constantes e variáveis Variáveis: tipo ; ex: int x; Constantes const tipo = ; ex: const int numero=5; #define valor ex: #define numero 5

46 Construção de Algoritmos Professor: Aquiles Burlamaqui OperadorDescrição +Soma -Subtração *Multiplicação / Divisão (inteira ou real) % Resto da divisão inteira -sinalização negativa Operadores Aritméticos

47 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores de incremento e decremento Incremento ++ Decremento -- Ex: int num1, num2; num1=5; num2 = num1++; //num1=6; num2=5; num1=5; num2 = ++num1; //num1=6; num2=6; num1=5; num2 = num1--; //num1=4; num2=5; num1=5; num2 = -- num1; //num1=4; num2=4;

48 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores Binários Operam sobre os bits de um dado Operador Operação & E ||Ou ^Ou-exclusivo >>Deslocamento para a direita <

49 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores Relacionais Operador Operação ==Igual !=Diferente Maior <=Menor ou igual >=Maior ou igual Retornam 1 se a expressão for verdadeira, e 0 se for falsa.

50 Construção de Algoritmos Professor: Aquiles Burlamaqui Operadores Lógicos E && ex: (5 >= 7) && ( (4/2) == 2) Ou || ex: (5 >= 7) || ( (4/2) == 2)

51 Construção de Algoritmos Professor: Aquiles Burlamaqui Atribuição Atribuição simples = valor; ex: int num1=2; Atribuição composta = ; para = {+, -, *, /, %, >, &, |, ^} ex: num1 += 1;

52 Construção de Algoritmos Professor: Aquiles Burlamaqui Entrada e Saída Entrada scanf(, & ); Saída printf(texto); printf(texto % texto % texto,,..., );

53 Construção de Algoritmos Professor: Aquiles Burlamaqui %tipos SímboloSignificado. %dInteiro. %uInteiro sem sinal. %fReal. %eReal no formato exponencial. %gEscolher %e ou %f de acordo com o tamanho do dado. %cCaractere. %sCadeia de caracteres. %oNúmero em octal (sem sinal). %xNúmero em hexadecimal (sem sinal).

54 Construção de Algoritmos Professor: Aquiles Burlamaqui Exercício 1.Escreva um programa em C que leia um dado do tipo inteiro e em seguida escreva o dobro do seu valor. 2.Escreva um algoritmo que leia três números e imprima o maior deles. 3.Escreva um algoritmo que leia três números e os imprima em ordem crescente. 4.Escreva um algoritmo que leia 10 números e imprima o maior deles. 5.Escreva um algoritmo que leia uma certa quantidade de números e imprima o maior deles e quantas vezes o maior número foi lido. A quantidade de números a serem lidos deve ser fornecida pelo usuário. Assuma que o usuário sempre fornecerá um número positivo. 6.Modifique o problema anterior de modo que caso o usuário digite um número negativo o programa peça novamente a quantidade de números e repita este procedimento até que o usuário forneça um número positivo. 7.Modifique o problema anterior para permitir que o usuário possa em caso de erro ter três tentivas. Na terceira tentativa o programa deve terminar avisando ao usuário a razão da interrupção. 8.Escreva um algoritmo que leia um número inteiro entre 100 e 999 e imprima na saída cada um dos algarismos que compõem o número. 9.Uma empresa paga R10.00 por hora normal trabalhada e R$ por hora extra. Escreva um programa que leia o total de horas normais e o total de horas extras trabalhadas por um empregado em um ano e calcule o salário anual deste trabalhador. 10.Assuma que o trabalhador do exercício anterior deve pagar 10% de imposto se o seu salário anual for menor ou igual a R$ Caso o salário seja maior que este valor o imposto devido é igual a 10% sobre R$ mais 25% sobre o que passar de R$ Escreva um programa que calcule o imposto devido pelo trabalhador.


Carregar ppt "Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 02 Aquiles Burlamaqui UERN 2007.1."

Apresentações semelhantes


Anúncios Google