310 likes | 421 Views
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula 1. Agenda. Revisão Estrutura básica de controle – Algoritimo Estrutura de controles condicionais – C Estrutura de controle repetitvas - C Programação básica – C Orientaçoes para avaliação Regimental.
E N D
TECNOLOGIA EM REDES DE COMPUTADORESAlgoritmos e programação de computadoresAula 1 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Agenda • Revisão • Estrutura básica de controle – Algoritimo • Estrutura de controles condicionais – C • Estrutura de controle repetitvas - C • Programação básica – C • Orientaçoes para avaliação Regimental 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas básicas de controle • Seqüência simples – Conjunto de comandos separados por ponto e Virgula e executados em seqüência linear de cima para baixo 3 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas básicas de controle • Alternativa Simples ou Composta – Quando ação a ser executada depender de inspeção ou teste. • SIMPLES 4 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas básicas de controle • COMPOSTA 5 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Estruturas básicas de controle • Repetição – Quando conjunto de ações é executado repetidamente enquanto condição permanecer valida. 6 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Implementação de estruturas de controle condicionais. • Implementadas 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; { Instrução; Instrução; } 7 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Implementação de estruturas de controle condicionais - Cont. • IF ELSE – Expansão da decisão simples, tem duas ações possíveis de acordo com expressão de teste, 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; { else Instrução; instrução; Instrução; } else { Instrução; instrução; } 8 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Implementação de estruturas de controle condicionais - Cont. • 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 << “Pais não e Brazil”; 9 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Implementação de estruturas de controle condicionais - Cont. • IF ELSE encadeada – Implementa a estrutura de controle condicional encadeada homogênea. If(op == ‘+’) cout << n1+n2; else if( op == ‘-’) cout << n1 * n2; else if( op == ‘/’) cout << n1 / n2; 10 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Algoritimo • Estrutura de controle – Seleção múltipla. • Seleções encadeadas homogêneas se-senão-se, são bastante freqüentes para o tratamento de listas de valor, Para simplificar a escrita, pode-se utilizar o comando escolha. início real: Preço; inteiro: Origem; leia (Preço, Origem); escolha Origem caso 1: escreva (Preço, “ – produto do Sul”); caso 2: escreva (Preço, “ – produto do Norte”); caso 3: escreva (Preço, “ – produto do Leste”); caso 4: escreva (Preço, “ – produto do Oeste”); caso 7, 8, 9: escreva (Preço, “ – produto do Sudeste”); caso 10..20: escreva (Preço, “ – produto do Centro-Oeste”); caso 5, 6, 25..50: escreva (Preço, “ – produto do Nordeste”); caso contrário: escreva (Preço, “ – produto importado”); fimescolha; fim. 11 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Implementação de Estrutura de controle – Seleção múltipla - Continuação. • Comando switch – Permite selecionar uma entre varias ações alternativas, melhor do que if-else, mais “elegante”. • Sintaxe : Inicio comando switch com variável ou constante entre parênteses, corpo de comandos entre chaves ( {} ) , condição de verificação após palavra “case”. Switch(f) { case f=1; cout << “\nDomingo”; break; case f=2; cout << “\nSegunda”; ......... } 12 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Algoritmos: Estruturas de controle – Repetição.WHILE/FOR • 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 13 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Algoritmos: Estruturas de controle – Repetição.WHILE/FOR • 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 (}). 14 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Algoritmos: Estruturas de controle – Repetição.WHILE/FOR • O comando Break afeta apenas o laço interno a ele no caso de laços aninhados • Lacos Aninhados : while (true) { int nCont = 1000; int nPara=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; } } 15 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Algoritmos: Estruturas de controle – Repetição.WHILE/FOR • 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 16 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Algoritmos: Estruturas de controle – Repetição.WHILE/FOR • 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 continue o laço • Ex.: Imprime caracteres digitados que são diferentes de digitos 17 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Algoritmos: Estruturas de controle – Repetição.WHILE/FOR • 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: 18 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programaçã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) 19 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programaçã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 \ 20 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Tabela de códigos especiais 21 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Exemplo de uso de códigos especial – Imprimindo uma nova linha: #include <iostream.h> Main() { Cout << “\nPrimeiro programa”; } 22 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programaçã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. 23 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Variáveis – Espaço de memória reservado para certo tipo de dados • 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. • Ex. : Int num1; TIPOS BÁSICOS 24 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Modificadores – long , short, unsigned • Com exceção de void os tipos basicos podem ser acompanhados de modificadores na declaração 25 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Inicializando variáveis – Possível combinar declaração com atribuição de valor : Int evento = 5; Char corrida = ‘c’; Float tempo = 27.25; • Modificador unsigned- indica interpretação do bit superior como outro qualquer e não como bit de sinal (para numero positivo é 0 para negatico é 1) – sera visto em detalhes adiante • Ex. : unsigned j=6500 • Saída será var unsigned = 6500 • Var int = -536 26 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Nome de variaveis. • Observar significância • Começa obrigatoriamente com letra ou caractere sublinhado • Pode conter letras maiúsculas, minúsculas, digitos de 0 a 9 e caractere sublinhado • PESO, Peso, peso, peSo – São DIFERENTES! • Apesar de não ter limitação na quantidade de caracteres no nome, apenas os primeiros 32 são considerados. Ex.: Orcamento_de_Contabilidade_de_1992 27 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Programação • Variaveis não pode ter o mesmo nome de palavras-chave ou reservadas. 28 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Exercícios • Escreva um algoritmo que implemente as estruturas básicas de controle. O algoritmo deve implementar o processo de entrada em uma balada onde mulheres pagam meia, venda de bebidas na balada e desconto para Corinthianos. • Implemente o algoritmo anterior em C. • Crie um programa em C para calcular e media de idade de uma família com Avó, Avo, Pai, Mãe, Filho e filha. Utilize estrutura while na versao A e do While na Versão B. 29 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Instruções para Avaliação regimental • Inicio as 20:00 impreterivelmente, após esse horário solicitar segunda chamada pelo aluno online, verificar o prazo. • Final – 22:00 impreterivelmente. • Permitido consulta ao material de aula • Permitido uso de computador – posições separadas, s internet. • 2 questões de 3 pontos e 1 questão de 1 ponto. • Correção após entrega, deve permanecer em sala • Gabarito sera entregue ao representante no final. 30 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com
Bibliografia 03/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com