Upload
verda
View
39
Download
0
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
TECNOLOGIA EM REDES DE COMPUTADORES
Algoritmos e programação de computadores
Aula 1
103/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
AgendaRevisão
Estrutura básica de controle – AlgoritimoEstrutura de controles condicionais – CEstrutura de controle repetitvas - CProgramação básica – C
Orientaçoes para avaliação Regimental
203/08/2011 Professor Leomir J. Borba- [email protected] –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
303/08/2011 Professor Leomir J. Borba- [email protected] –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
403/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Estruturas básicas de controle COMPOSTA
503/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Estruturas básicas de controle Repetição – Quando conjunto de ações é executado repetidamente
enquanto condição permanecer valida.
603/08/2011 Professor Leomir J. Borba- [email protected] –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çãoIF(expressao de teste) IF(expressao de teste) instrução; {
Instrução; Instrução;
}
703/08/2011 Professor Leomir J. Borba- [email protected] –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çãoIF(expressao de teste) IF(expressao de teste) Instrução; { else Instrução; instrução; Instrução; } else { Instrução; instrução; }
803/08/2011 Professor Leomir J. Borba- [email protected] –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”;
903/08/2011 Professor Leomir J. Borba- [email protected] –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;
1003/08/2011 Professor Leomir J. Borba- [email protected] –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ícioreal: 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.
1103/08/2011 Professor Leomir J. Borba- [email protected] –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”;.........}
1203/08/2011 Professor Leomir J. Borba- [email protected] –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
1303/08/2011 Professor Leomir J. Borba- [email protected] –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 (}).
1403/08/2011 Professor Leomir J. Borba- [email protected] –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; }}
1503/08/2011 Professor Leomir J. Borba- [email protected] –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
1603/08/2011 Professor Leomir J. Borba- [email protected] –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
1703/08/2011 Professor Leomir J. Borba- [email protected] –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:
1803/08/2011 Professor Leomir J. Borba- [email protected] –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)
1903/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Programação Diretiva do pré processador - #include <biblioteca> -
Programa que examina o programa fonte e executa modificaçõesInserindo 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 \
2003/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Programação Tabela de códigos especiais
2103/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Programação Exemplo de uso de códigos especial – Imprimindo uma nova
linha:
#include <iostream.h>Main(){
Cout << “\nPrimeiro programa”;}
2203/08/2011 Professor Leomir J. Borba- [email protected] –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.
2303/08/2011 Professor Leomir J. Borba- [email protected] –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
2403/08/2011 Professor Leomir J. Borba- [email protected] –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
2503/08/2011 Professor Leomir J. Borba- [email protected] –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
2603/08/2011 Professor Leomir J. Borba- [email protected] –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
2703/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Programação Variaveis não pode ter o mesmo nome de palavras-chave ou
reservadas.
2803/08/2011 Professor Leomir J. Borba- [email protected] –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.
2903/08/2011 Professor Leomir J. Borba- [email protected] –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.
3003/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Bibliografia
03/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 31
BIBLIOGRAFIA BÁSICA
1GUIMARÃES, Ângelo de Moura e LAGES, Alberto de Castilho. Algoritmos e estruturas de dados. 1ª edição. Rio de janeiro. LTC, 1994.
2MIZHARI, Victorine Viviane. Treinamento – Módulo 1. 1ª Edição, São Paulo. Editora Makron Books, 1990.
BIBLIOGRAFIA COMPLEMENTAR
3
Forbellone, A. L. V. e Eberspacher, H. F.. Lógica de Programação - a Construção de Algoritmos e Estruturas de Dados . 3ª edição. Pearson, 2005.
4FARRER, Harry et al. Algoritmos Estruturados. 3ª Edição.Rio de Janeiro:LTC, 1999.
5SCHILDT, Herbert. C, completo e total. 3ª Edição. Makron Books, 1997