1 / 72

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 8

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 8. Agenda. Revisão para Avaliação Regimental Variáveis, constantes, tipos de dados, operadores aritméticos, relacionais e lógicos Programação básica Estruturas condicionais, IF and IF ELSE

zagiri
Download Presentation

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 8

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMASLINGUAGEM DE PROGRAMAÇÃO IAula 8 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  2. Agenda • Revisão para Avaliação Regimental • Variáveis, constantes, tipos de dados, operadores aritméticos, relacionais e lógicos • Programação básica • Estruturas condicionais, IF and IF ELSE • Operador ternário • Switch • Precedência de operadores lógicos e relacionais • Estruturas de Repetição do... while e for • Matrizes • Funções • Exercícios 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  3. Variáveis, constantes , tipos de dados • Variáveis – Espaço de memória reservado para certo tipo de dado. • Terá valores diferentes em diferentes momentos. • Declaração de variáveis – reserva espaço de memória de acordo com tipo, sempre devem ser declaradas • Nomes devem obedecer preceitos : • Letras maiúsculas e minúsculas. • Primeiro caracter não pode ser numero • Case sensitive • Deve descrever o conteúdo Ex: vPQP ou vTotal ? 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  4. Variáveis, constantes , tipos de dados • Variáveis • Armazenam valores de acordo com seus tipos de dados declarados (int,char,float,double). • Precisam ser declaradas • Declaração : intvTotal; charvNome; intvSalario; • Reserva espaço em memória de acordo com o tipo. 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  5. Variáveis, constantes , tipos de dados • Variaveis não pode ter o mesmo nome de palavras-chave ou reservadas. 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  6. Variáveis, constantes , tipos de dados - complementação • Variáveis • Atribuição de valores • Ao ser declarada não tem uma valor aleatório de bites (0 e 1) • Sintaxe variavel = expressão • Atribuição pode ser feita junto com a declaração : • IntvTotal = 1000 ou intvTotal = vTotal + vSubtotal • Ultimo valor atribuído substitui anterior • Pode atribuir mesmo valor a varias variáveis : • a= b= c= d = 5 (valores são atribuídos da direita pra esquerda) ou • a=5; • b=5; • c=5; • d=5; 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  7. Variáveis, constantes , tipos de dados - complementação • Variáveis • Atribuição de valores • Ao ser declarada não tem uma valor aleatório de bites (0 e 1) • Sintaxe variavel = expressão • Atribuição pode ser feita junto com a declaração : • IntvTotal = 1000 ou intvTotal = vTotal + vSubtotal • Ultimo valor atribuído substitui anterior • Pode atribuir mesmo valor a varias variáveis : • a= b= c= d = 5 (valores são atribuídos da direita pra esquerda) ou • a=5; • b=5; • c=5; • d=5; 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  8. Variáveis, constantes , tipos de dados • Constantes • Declarada com a diretiva #define ou const: • #define PI 3.14159265 • ConstintaliqicmsSp; (; so pra const) • Oposto das variáveis, mantém seu valor por toda a execução do programa, não podem ser alteradas. • Ex.: intvMaxcolunas=100 (Numero max. De colunas) • É mais fácil lembrar do nome da constante do que seu valor que será usado repetidas vezes no programa. 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  9. Variáveis, constantes , tipos de dados • Diferenças entre const e #define. • Uma constante definida com const existe fisicamente em uma determinada posição de memória. • Uma constante definida com #define não existe fisicamente na memória, sendo seu valor substituido ao longo do programa na fase de pré processamento (antes da compilação) • Const faz parte das palavras reservadas da linguagem C • #define é uma diretiva que indica ao pré-processador que o simbolo que a segue vai ficar com o valor que aparece depois do simbolo, antes de compilar o pré-processdor subtitui o simbolo pelo valor definido. • Constante definida com const fica com o tipo de dado indicado na definição enquanto que se usar #define o tipo resulta da expressão que aparece no componente valor. • Como #define não faz parte da ling. C não precisa de ; no final 9 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  10. Variáveis, constantes , tipos de dados • Básicos • CHAR, INT, FLOAT E DOUBLE • Podem ser Alterados com modificadores LONG, SHORT e UNSIGNED (ver tabela de tipos alterados prox slide) 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  11. Variáveis, constantes , tipos de dados • Tabela de tipos modificados 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  12. Variáveis, constantes , tipos de dados • Modificadores – long , short, unsigned • Com exceção de void os tipos basicos podem ser acompanhados de modificadores na declaração • Além dos tipos de dados básicos existem outros tipos de dados ditos modificados. Em C existem dois modificadores: o modificador long e o modificador unsigned. Tipicamente o modificador long aumenta o número de bytes usados para o registro do número. Por conseqüência o intervalo de validade do número fica aumentado significativamente. • Por padrão uma variável de tipo inteiro aceita números positivos e negativos • O modificador unsignedpermite que uma variável aceite apenas valores positivos. 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  13. Operadores aritméticos, relacionais e lógicos • Indicam ao compilador a necessidade de manipulações Matematicas ou lógicas de dados. • Operadores Aritméticos – Para calculo de expressões matemáticas. • Binários = Atribuição + Soma • Subtração / Divisão % Módulo (obtem o resto da divisão) 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  14. Operadores aritméticos, relacionais e lógicos - Continuação • Unários – Atuam na inversão de valores • - Sinal Negativo • + Sinal Positivo • Incremento – Soma 1 ao operando (variável) • Ex. var = var++ • Decremento – Subtrai 1 do operando • Ex. var = var -- 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  15. Operadores aritméticos, relacionais e lógicos - Continuação • Modo Pré-Fixado e Pós-Fixado • Pré – Incrementa variavel e depois executa instrução • Pós – Executa instrução e depois incrementa a variavel. 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  16. Operadores aritméticos, relacionais e lógicos - Continuação • Modo Pré-Fixado e Pós-Fixado 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  17. Operadores aritméticos, relacionais e lógicos - Continuação • Operadores aritméticos de atribuições • Combinações podem simplificar instruções 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  18. Operadores aritméticos, relacionais e lógicos - Continuação • Responsaveis por comparações de expressões nos programas • Retornam zero para falso e um para verdadeiro 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  19. Operadores aritméticos, relacionais e lógicos - Continuação • Exemplo de comparações de expressões nos programas 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  20. Operadores aritméticos, relacionais e lógicos - Continuação • Operadores Lógicos – Servem para interligar mais de uma expressão relacional • Retornam zero para falso e um para verdadeiro 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  21. Operadores aritméticos, relacionais e lógicos - Continuação • Operadores Lógicos – Exemplo 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  22. Operadores aritméticos, relacionais e lógicos - Continuação • Precendência – Ordem em que os operadores são executados pelo compilador. • Caso tenham o mesmo nivel de predência são analisados da esquerda para a direita. • A precedência dos operadores pode ser mudada utilizando parentes • Ex.: 4/2*5+1=11 4/2*(5+1)=12 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  23. Programação em C • Um programa em C consiste em uma ou varias funções e comandos, formando uma sequencia de código organizada de tal forma que permita resolver um problema. Os nomes programa e função se confundem em C. • Forma Geral dos programas em C # Biblioteca.h – diretiva para compilador, não é C Main() <- Primeira Função a ser executada { <- Inicia o corpo da Função } <- Termina a Função 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  24. Programação em C - Continuação • Linguagem é Case Sensitive, maiusculas e minusculas fazem diferenca. • Todas as instruções são escritas em letras minusculas • Apenas usar Letras maiusculas em variaveis, mensagens ou funções escritas pelos programadores. 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  25. Programação em C - Continuação • Nome de função pode ser qualquer nome menos main, que indica função que inicia a execução do programa, todo programa deve ter um main • Tipo Void indica que programa não tem valor de retorno #include <iostream.h> Void main() { cout << “Primeiro Programa””; } 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  26. Programação em C - Continuação • Espaço em branco é desconsiderado pelo compilador • Exceções • Cadeia de caracteres constantes não podem ser separadas em diversas linhas • Nomes de funções,operadores e comandos de linguagem não podem ser separados • Diretivas como #include não podem ser escritas em diversas linhas • Toda instrução termina em ; • Instruções devem ser escritas entre {} • Operador de inserção << conecta mensagem ao comando cout (objeto da classe I/O leitura e impressão) 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  27. Programação em C - Continuação • Diretiva do pré processador - #include <biblioteca> - • Programa que examina o programa fonte e executa modificações Inserindo o a biblioteca (arquivos de inclusão no diretório INCLUDE) no código fonte antes da compilação. • Arquivo iostream.h – Contem cout, << e recupera dados digitados no teclado e saída em video. • Códigos especiais – Não podem ser digitados no teclado, obtidos por meio de combinação do sinal \ 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  28. Programação em C - Continuação • Tabela de códigos especiais 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  29. Programação em C - Continuação • Exemplo de uso de códigos especial – Imprimindo uma nova linha: #include <iostream.h> Main() { Cout << “\nPrimeiro programa”; } 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  30. Programação em C - Continuação • Constantes numéricas – Valor fixo e inalteravel • DECIMAL – 12345 Não podem estar entre aspas • HEXADECIMAL – 0X41, 0X1afb (Base 16 precedidos de 0x) • OCTAL – 041,010, 0754 (Base 8 Precedidos de 0) • 010 diferente de 10 • CARACTER – Definida para números entre 0 e 255, significa que cabe em 1 byte, escritos com aspas simples ‘5’, ‘a’,’w’,’\n’,’\t’ • Aspas simples ‘’ para único caractere • Aspas duplas “” para cadeia de caracteres. 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  31. Estrutura Condicional Simples. • Antes de falarmos sobre estrutura condicional simples, uma pequena revisão. • Estruturas são usadas para controlar o funcionamento do programa. • Estruturas sequenciais : Composta por comandos a serem executados um após o outro sem tomada de decisão para desvio da sequência natural. • Ex.: float x; char sexo; int i; doubley; ccout << “ Estrutura sequencial em C”; 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  32. Estrutura Condicional Simples. • Para incutirmos alguma “inteligencia” ou processos com maior complexidade aos programas devemos utililizar Estruturas condicionais. • Estrutura condicional simples – Implementada através de comandos de decisão, usados para decidir o que deve ser feito de acordo com uma expressão de teste. • IF – Decisão simples, com uma instrução sem chaves “{}”, com mais de uma instrução necessita chaves “{}” 1 instrução + de 1 instrução IF(expressao de teste) IF(expressao de teste) instrução; { ou Instrução; if(condicao) instrucao; Instrução; } 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  33. Estrutura Condicional Encadeada. • IF ELSE encadeada – Implementa a estrutura de controle condicional encadeada heterogena. If(pais == ‘Brasil’) { if( estado == ‘São Paulo’) { if( cidade == ‘São Paulo’) cout << “\nVoce esta na capital de São Paulo, Brasil”; else cout << “\nVoce não esta na capital de são Paulo; } } else cout << “\nVoce não esta no Brasil” 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  34. Operador Condicional - ? • Único operador Ternário em C, indica a espera de três argumentos. • Sintaxe : condição ? Expressao1 : expressao2 • Funcionamento • Condição é avaliada • Se resultado for verdade, o resultado de toda a expressão é o valor devolvido por expressão1 • Se resultado for falso, o resultado de toda a expressão é o valor devolvido por expressão2 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  35. Operador Condicional ? • Exemplos 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  36. Operador Condicional ? • Considerações – embora pareça semelhante a instrução if-else o operador condicional “?“ Funciona de forma diferente, enquanto o operador condicional devolve sempre um resultado o if-else determina quais instruções deve ser executadas 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  37. Switch • A instrução switch é usada em tomada de decisões em que o numero de possibilidades é elevado para reduzir a complexidade do if-else, sintaxe: 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  38. Switch • Funcionamento • Se o Valor da expressão for igual a alguma das constantes que seguem os varioscase, então são executadas as instruções que seguem o case correspondente • Se o valor da expressão não for igual a nenhuma das constantes apresentadas pelos case, então são executadas as instruções que seguem o parâmetro default • Após realizar teste de expressão e encontrar valor correspondente todas as linhas de código são executadas até a instrução break • O parâmetro default é opcional, caso não seja mencionado nada é executado caso o valor da expressão não seja igual a nehum dos case • Em cada case do switch só uma única constante do tipo char, int ou long pode estar presente para avaliação 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  39. Switch • Exemplo prog0312.c : 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  40. Precedência de operadores Lógicos • Existem circunstâncias em que uma condição simples não é suficiente para tomar uma decisão, é necessário a interligação de duas ou mais condições lógicas 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  41. Precedência de operadores Lógicos • Permitem a combinação de duas ou mais expressões lógicas numa única expressão que devolve um único valor lógico (Verdadeiro ou Falso) 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  42. Precedência de operadores Relacionais • Para definir a ordem pela qual as operações são executadas existe a tabela de precedências. • Ocupam patamares Diferentes na hierarquia. • Seta indica maior precedência 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  43. Estruturas de repetição: do...while • Laço while • Implementa uma estrutura de repetição controlada pela verificação de uma condição. • Sintaxe : While (condição) OU While (condição) <instrução>; { <instrução>; <instrução> } • Ao final da ultima instrução no corpo do comando avalia se a condição continua verdadeira, caso continua repete as instruções dentro do corpo até que a condição não seja mais verdadeira 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  44. Estruturas de repetição: do...while • Laço while – continuação • Ex.: int Ndia =1 while (ndia<=7) { printf (“Dia : %d\n",Ndia); Ndia++; } • Execução do laço pode ser interrompida por quebra de condição ou comando Break que causa a saida do laço para a proxima instrução após o laço (}). 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  45. Estruturas de repetição: do...while • O comando Break afeta apenas o laço interno a ele no caso de laços aninhados • Lacos Aninhados : while (true) { intnCont = 1000; intnPara=0; printf("\n Entre com o numero de parada "); scanf("%d", &nPara); while (nCont > 0) { nCont--; cout << "\n \n" << nCont << "\n"; if(nCont==nPara) break; } } 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  46. Estruturas de repetição: do...while • O comando CONTINUE força a proxima iteração do laço e pula o codigo que estiver abaixo dele, ou seja força a avaliação da expressão de teste e depois continua o laço • Ex.: Imprime caracteres digitados que são diferentes de digitos 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  47. Estruturas de repetição: do...while • A estrutura DO-WHILE, similar a estrura WHILE, faz a verificação de teste no final da estrura, bom para situações em que instruções no corpo devam ser excutadas antes da verificação, com sintaxe no exemplo a seguir: 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  48. Estruturas de repetição: for • Usada para implementar estrutura de controle de repetição de forma similar ao while/do-while • Três expressões separadas por ponto e virgula regulam seu funcionamento 48 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  49. Vetores • Representam os dados Homogêneos - Somente um tipo de dado, posições de memória, individualizados por índice, unidimensional. • Estrutura de dados linear que necessita de somente um índice para que seus elementos sejam endereçados. • Usado para armazenar lista de valores do mesmo tipo. • Cada célula armazena somente um valor de dados do vetor tipo. • Características principais • Alocação estática, Estrutura homogênea, alocação seqüencial 49 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  50. Vetores • Inserção/Exclusão Realocação dos elementos Posição de memória não liberada Ex : int nota [ 5 ] nota [1]=9.5; nota[2]=7.4 ......... 50 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

More Related