Mudanças entre as edições de "Programação para Redes de Computadores (técnico) (diário 2016-1 - Estudo Dirigido)"
Ir para navegação
Ir para pesquisar
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 15: | Linha 15: | ||
Um material de referência pode ser visto em ([[Media:PRC12503-Apostila-Logica.pdf|Link]]) | Um material de referência pode ser visto em ([[Media:PRC12503-Apostila-Logica.pdf|Link]]) | ||
+ | |||
+ | ====Avaliação==== | ||
+ | |||
+ | ;Lógica de programação | ||
+ | |||
+ | # Faça um algoritmo para comer um chocolate; | ||
+ | # Faça um algoritmo para fazer um suco de laranja; | ||
+ | # Faça um algoritmo para trocar um pneu de um carro; | ||
+ | # Faça um algoritmo para instalar um reprodutor de BluRay. | ||
+ | |||
+ | ;Algoritmos | ||
+ | |||
+ | # Sabendo que A = 2, B = 6, C = 4, informe se as expressões abaixo são verdadeiras ou falsas: | ||
+ | :# A > B | ||
+ | :# (A + C) > B | ||
+ | :# (B + A) <= C | ||
+ | :# (C + A) > B | ||
+ | :# C = (B − A) | ||
+ | # Sabendo que A = 10, B = 9, C = 6, D = 3, informe se as expressões abaixo são verdadeiras ou falsas: | ||
+ | :# (A > B)E(B > C) | ||
+ | :# (D > A)OU(C > D) | ||
+ | :# (NAO(C > B))OU(D > A) | ||
+ | |||
+ | ;Fluxogramas | ||
+ | |||
+ | # Desenvolver um fluxograma que leia um número e informe se o mesmo está entre a faixa de 1 a 9. | ||
+ | # Desenvolver um fluxograma que leia dois números inteiros e informe qual é o maior; | ||
+ | # Desenvolver um fluxograma que leia dois números inteiros e efetue a divisão do primeiro pelo segundo, somente se o divisor for diferente de zero, caso contrário exibir uma mensagem de erro; | ||
+ | # Desenvolver um fluxograma que leia três números inteiros e informe qual é o maior, o menor e o do meio; | ||
+ | |||
+ | ;Pseudocódigo | ||
+ | |||
+ | # Desenvolva um algoritmo que leia um número N e mostre os números de 1 até N; | ||
+ | # Desenvolva um algoritmo que leia dois números, N1 e N2, e mostre a sequência de números entre eles; | ||
+ | # Desenvolva um algoritmo para ler duas notas de um aluno, dentro da faixa de 0 até 10 e informe a média deste aluno. O algoritmo deverá validar a entrada do dados, ou seja, deverá ficar questionando o valor das notas até que o usuário forneça um valor dentro da faixa permitida. O algoritmo deverá apresentar a mensagem “nota inválida, por favor entre com valores de 0 a 10” sempre que o valor fornecido estiver fora da faixa de 0 a 10; | ||
+ | # Imprima a tabuada de multiplicação dos números de 1 a 10. Ex: 1x1. . . , 1x2. . . , 2x1. . . ; | ||
+ | # Desenvolva um algoritmo para ler K notas de um aluno, dentro da faixa de 0 até 10 e informe a média deste aluno. O algoritmo deverá validar a entrada do dados, ou seja, deverá ficar questionando o valor das notas até que o usuário forneça um valor dentro da faixa permitida. O algoritmo deverá apresentar a mensagem “nota inválida, por favor entre com valores de 0 a 10” sempre que o valor fornecido estiver fora da faixa de 0 a 10. Ao fim da entrada de dados, o programa deverá mostrar a média das K notas. | ||
+ | |||
+ | ===Capítulo 2 - Shell Script=== | ||
+ | |||
+ | * [[Media:PRC12503-Shell1.pdf|Shell Script]] | ||
+ | * [[Media:PRC12503-Shell2.pdf|Arquivos e argumentos em Shell]] | ||
+ | * [[Media:PRC12503-Shell3.pdf|Strings e funções em Shell]] | ||
+ | |||
+ | ====Avaliação==== | ||
+ | |||
+ | ;Shell Script | ||
+ | |||
+ | # Desenvolva um algoritmo que leia dois números inteiros e exiba qual deles ́e o maior | ||
+ | # Desenvolva um algoritmo que leia um numero inteiro positivo e imprima a sequência de 0 ate este numero. O programa deverá tratar caso o usuário forneça um numero menor que zero. | ||
+ | # Desenvolva um algoritmo que simule a autenticação de usuários. O usuário deve fornecer uma senha e se esta senha for igual a palavra secreta dever ́a exibir a mensagem “Acesso autorizado”, caso contrario devera exibir “Acesso negado”. O algoritmo deverá solicitar a senha ao usuário até que este forneça a senha correta ou até que o numero de tentativas permitidas seja alcançado. No caso, o numero máximo de tentativas ́e 3. | ||
+ | :{{collapse top | Solução - Clicar no "+" para expandir }} | ||
+ | ;:<syntaxhighlight lang=bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | # Variáveis do sistema | ||
+ | senha_correta=1234 | ||
+ | max_tentativa=3 | ||
+ | tentativa=1 | ||
+ | acesso_OK=0 | ||
+ | |||
+ | while [ $tentativa -le $max_tentativa ] && [ $acesso_OK -eq 0 ]; do | ||
+ | |||
+ | # Solicitando a senha do usuário | ||
+ | echo -n "Digite a senha: " | ||
+ | read senha | ||
+ | |||
+ | # ---------------------------------------------------- tentativa 1 | ||
+ | # Testando se a senha está correta | ||
+ | if [ $senha -eq $senha_correta ]; | ||
+ | then | ||
+ | echo "Acesso autorizado" | ||
+ | echo "Fim" | ||
+ | acesso_OK=1 | ||
+ | else | ||
+ | echo "Acesso negado - Tentativa $tentativa" | ||
+ | |||
+ | # Como a senha está incorreta, incrementa o número | ||
+ | # de tentativas | ||
+ | tentativa=$((tentativa+1)) | ||
+ | fi | ||
+ | |||
+ | done | ||
+ | |||
+ | echo "Você acertou a senha" | ||
+ | </syntaxhighlight> | ||
+ | :{{collapse bottom}} | ||
+ | |||
+ | [[Arquivo:PRC12503-exemplos1.zip|Códigos até 19/07/2016]] | ||
+ | |||
+ | ;Arquivos e argumentos em Shell | ||
+ | |||
+ | # Leia dois operandos e um operador, através de argumentos de linha de comando, e realize a operação aritmética correspondente. '''Exemplo: ./exercicio3.sh 10 + 2, resultado: 12.''' | ||
+ | # Leia duas datas no formato AAAA-MM-DD, através de argumentos de linha de comando, e informe a diferença em dias entre essas datas. '''Exemplo: ./exercicio4.sh 2009-09-21 2001-10-02.''' | ||
+ | # Leia o nome de uma interface de rede (argumentos de linha de comando) e informe o IP, a máscara de rede e o endereço de broadcast associados a esta. Dica: Faça uso do comando ip combinado as ferramentas grep, tail e cut. '''Exemplo: ip a | grep eth0 | tail -1''' | ||
+ | |||
+ | :{{collapse top | Solução - Clicar no "+" para expandir }} | ||
+ | ;:<syntaxhighlight lang=bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | horizontal() { | ||
+ | traco="--------------------------------------------------------------------------------------------------------------------------------------" | ||
+ | echo -n "+" | ||
+ | echo -n "${traco:0:$(($1-2))}" | ||
+ | echo "+" | ||
+ | } | ||
+ | |||
+ | vertical(){ | ||
+ | espaco=" " | ||
+ | echo -n "|" | ||
+ | echo -n "${espaco:0:$(($1-2))}" | ||
+ | echo "|" | ||
+ | } | ||
+ | |||
+ | # Faz a linha horizontal superior | ||
+ | horizontal $1 | ||
+ | |||
+ | # Faz as linhas verticais | ||
+ | cont=1 | ||
+ | limite=$(($2-2)) | ||
+ | while [ $cont -le $limite ]; do | ||
+ | cont=$(($cont+1)) | ||
+ | vertical $1 | ||
+ | done | ||
+ | |||
+ | # Faz a linha horizontal inferior | ||
+ | horizontal $1 | ||
+ | </syntaxhighlight> | ||
+ | :{{collapse bottom}} |
Edição atual tal como às 19h02min de 18 de outubro de 2016
Neste estudo dirigido, usaremos a programação da disciplina em 2014-1, executada pelo professor Jorge Casagrande.
Plano de ensino
Aulas
Capítulo 1 - Lógica de programação e algoritmos
- Introdução aos algoritmos
- Estruturas de sequência e Fluxogramas
- Estruturas de seleção e Pseudo código
- Estruturas de repetição
Um material de referência pode ser visto em (Link)
Avaliação
- Lógica de programação
- Faça um algoritmo para comer um chocolate;
- Faça um algoritmo para fazer um suco de laranja;
- Faça um algoritmo para trocar um pneu de um carro;
- Faça um algoritmo para instalar um reprodutor de BluRay.
- Algoritmos
- Sabendo que A = 2, B = 6, C = 4, informe se as expressões abaixo são verdadeiras ou falsas:
- A > B
- (A + C) > B
- (B + A) <= C
- (C + A) > B
- C = (B − A)
- Sabendo que A = 10, B = 9, C = 6, D = 3, informe se as expressões abaixo são verdadeiras ou falsas:
- (A > B)E(B > C)
- (D > A)OU(C > D)
- (NAO(C > B))OU(D > A)
- Fluxogramas
- Desenvolver um fluxograma que leia um número e informe se o mesmo está entre a faixa de 1 a 9.
- Desenvolver um fluxograma que leia dois números inteiros e informe qual é o maior;
- Desenvolver um fluxograma que leia dois números inteiros e efetue a divisão do primeiro pelo segundo, somente se o divisor for diferente de zero, caso contrário exibir uma mensagem de erro;
- Desenvolver um fluxograma que leia três números inteiros e informe qual é o maior, o menor e o do meio;
- Pseudocódigo
- Desenvolva um algoritmo que leia um número N e mostre os números de 1 até N;
- Desenvolva um algoritmo que leia dois números, N1 e N2, e mostre a sequência de números entre eles;
- Desenvolva um algoritmo para ler duas notas de um aluno, dentro da faixa de 0 até 10 e informe a média deste aluno. O algoritmo deverá validar a entrada do dados, ou seja, deverá ficar questionando o valor das notas até que o usuário forneça um valor dentro da faixa permitida. O algoritmo deverá apresentar a mensagem “nota inválida, por favor entre com valores de 0 a 10” sempre que o valor fornecido estiver fora da faixa de 0 a 10;
- Imprima a tabuada de multiplicação dos números de 1 a 10. Ex: 1x1. . . , 1x2. . . , 2x1. . . ;
- Desenvolva um algoritmo para ler K notas de um aluno, dentro da faixa de 0 até 10 e informe a média deste aluno. O algoritmo deverá validar a entrada do dados, ou seja, deverá ficar questionando o valor das notas até que o usuário forneça um valor dentro da faixa permitida. O algoritmo deverá apresentar a mensagem “nota inválida, por favor entre com valores de 0 a 10” sempre que o valor fornecido estiver fora da faixa de 0 a 10. Ao fim da entrada de dados, o programa deverá mostrar a média das K notas.
Capítulo 2 - Shell Script
Avaliação
- Shell Script
- Desenvolva um algoritmo que leia dois números inteiros e exiba qual deles ́e o maior
- Desenvolva um algoritmo que leia um numero inteiro positivo e imprima a sequência de 0 ate este numero. O programa deverá tratar caso o usuário forneça um numero menor que zero.
- Desenvolva um algoritmo que simule a autenticação de usuários. O usuário deve fornecer uma senha e se esta senha for igual a palavra secreta dever ́a exibir a mensagem “Acesso autorizado”, caso contrario devera exibir “Acesso negado”. O algoritmo deverá solicitar a senha ao usuário até que este forneça a senha correta ou até que o numero de tentativas permitidas seja alcançado. No caso, o numero máximo de tentativas ́e 3.
Solução - Clicar no "+" para expandir | ||
---|---|---|
Arquivo:PRC12503-exemplos1.zip
|