Linguagem de Programação
• Objetivo: Demonstrar os conceitos iniciais
de programação de computadores a partir
do ambiente Visual Studio, utilizando a
linguagem de programação C# para as
estruturas de repetição.
Linguagem de Programação
• Estrutura de repetição:
– Existem situações nas quais é necessário repetir um determinado trecho de programa certo número de vezes. Isso pode ser
conseguido de duas formas. Na primeira será escrito o mesmo trecho de código de
programa tantas vezes quanto necessário, um tanto trabalhoso, e na segunda forma pode ser utiliza do o conceito de laço. Os laços são conhecidos também por laços de repetição, malhas de repetição, malhas ou pelo termo em inglês looping ou loops.
Linguagem de Programação
• Vantagens do Laços
– A principal vantagem em utilizar laços é
possuir programas com tamanho reduzido, podendo ser aumentada sua amplitude de processamento sem alterar o tamanho do código de programação. Desta forma, é
possível determinar repetições com números variados de vezes, desde laços finitos até
laços indeterminados ou seja, aqueles que não se sabe quantas vezes serão
Linguagem de Programação
• Vantagens dos Laços, Malhas, Loopings
– Quando precisamos repetir a mesma tarefa para se chegar a um resultado final.
– Para repetir tarefas no algoritmo, evitando escrever várias vezes a mesma coisa.
Linguagem de Programação
• Classificação dos laços de repetição.
• Os laços condicionais podem ser
classificados em três categorias, sendo:
– Controle condicional pré-teste.
– Controle condicional pós-teste.
Linguagem de Programação
• Laço de Repetição Condicional Pré-Teste
– Os laços de repetição condicionais com verificação pré-teste têm por finalidade
executar as instruções subordinadas de um bloco adjacente após conferir a validade do resultado lógico da condição estabelecida.
Sendo o resultado lógico da condição válido, são executadas as instruções subordinadas do bloco adjacente. No momento em que o
resultado lógico da condição não é mais válido, o laço de repetição é automaticamente
Linguagem de Programação
• Laço de Repetição Condicional Pré-Teste
– Pré-Teste: Controle Condicional Verdadeiro – Efetua um teste lógico no início do looping.
– Controle condicional verdadeiro:
– Executa as instruções contidas no laço durante o período em que o resultado lógico da
condição permanece VERDADEIRO.
– No momento em que o teste lógico se tornar
FALSO, a execução do laço é
• Algoritmos
– Estrutura de repetição:
• enquanto/faça/fim-enquanto - FLUXOGRAMA.
<condição>
<condição a serem repetidas> V
F
• Algoritmos
– Estrutura de repetição:
• enquanto/faça/fim-enquanto - PSEUDOCÓDIGO.
enquanto <condição> faca
<comandos a serem repetidos> fimenquanto
• Algoritmos
– Estrutura de repetição: • enquanto/faça/fim-enquanto - PSEUDOCÓDIGO. – Exemplo: enquanto n < 10 faca n <- n+1 escreva n fimenquantoLinguagem de Programação
Linguagem de Programação
• Laço de Repetição Condicional Pré-Teste
• Sintaxe do Enquanto
na linguagem C#:
While (<condição>){
<instruções executadas enquanto condição for verdadeira> <instruções executadas enquanto condição for verdadeira> <instruções executadas enquanto condição for verdadeira>
Linguagem de Programação
• Estrutura de Repetição: Enquanto / While
• Português Estruturado Visualg X Linguagem C#
• Comparação das Sintaxe:
While (<condição>){
<instruções executadas enquanto
condição for verdadeira>
} enquanto <condição> faca
<instruções executadas enquanto condição for verdadeira>
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Exemplo01 { class Program
static void Main(string[] args){
long FAT = 1, N, I; Console.Write("Informe um valor: "); N = long.Parse(Console.ReadLine()); I = 1; while (I <= N){ FAT = FAT * I; I = I + 1; } Console.WriteLine(); Console.WriteLine("Fatorial de {0} = {1}.", N, FAT); Console.WriteLine();
Console.Write("Tecle algo para encerrar... "); Console.ReadKey(); } } } Exemplo utilizando a estrutura de repetição While:
Linguagem de Programação
• Laço de Repetição Condicional Pós-Teste
– O laço de repetição condicional com verificação pós-teste tem por finalidade executar pelo
menos uma vez as instruções subordinadas de um bloco adjacente, verificando a validade do resultado lógico da condição após a execução. Se o resultado lógico da condição não for válido, o bloco adjacente de instruções subordinadas é repetido. No momento em que o resultado lógico da condição se torna válido, a execução do laço de repetição é automaticamente encerrada.
Linguagem de Programação
• Laço de Repetição Condicional Pós-Teste
– Os laços de repetição com controle condicional pós-teste apresentam-se de duas formas, sendo um laço de repetição para condição verdadeira e outro para condição falsa. A linguagem C# faz uso do laço de repetição com controle
• Algoritmos
– Estrutura de repetição:
• repita/até que - FLUXOGRAMA.
<condição>
<condição a serem repetidas>
F V
<condição a serem repetidas>
Lógica de Programação
• Algoritmos
– Estrutura de repetição:
• repita/até que - PSEUDOCÓDIGO.
repita
<comandos a serem repetidos> ate <condição>
Lógica de Programação
• Algoritmos
– Estrutura de repetição:
• repita/até que - PSEUDOCÓDIGO.
– Exemplo:
repita
n <- n+1 escreva n
Linguagem de Programação
• Laço de Repetição Condicional Pós-Teste
• Sintaxe do Repita
na linguagem C#:
do{
<instruções executadas enquanto condição for verdadeira> <instruções executadas enquanto condição for verdadeira> <instruções executadas enquanto condição for verdadeira>
Linguagem de Programação
• Estrutura de Repetição: Repita /Do while
• Português Estruturado Visualg X Linguagem C#
• Comparação das Sintaxe:
do {
<instruções executadas enquanto
condição for verdadeira>
} While (<condição>) repita
<instruções executadas enquanto condição for falsa>
ate <condição>
* Lembre-se que no caso da linguagem de programação C# a condição para repetição e verdadeira, inversa no caso do pseudocódigo que é falsa.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Exemplo01 { class Program{
static void Main(string[] args){
long FAT = 1, N, I; Console.Write("Informe um valor: "); N = long.Parse(Console.ReadLine()); I = 1; do { FAT *= I; I++; }while (I <= N); Console.WriteLine(); Console.WriteLine("Fatorial de {0} = {1}.", N, FAT); Console.WriteLine();
Console.Write("Tecle algo para encerrar... "); Console.ReadKey(); } } } Exemplo utilizando a estrutura de repetição Do while:
Linguagem de Programação
• Laço de Repetição Incondicional
– Foram apresentadas anteriormente duas
formas diferentes de elaborar laços. Com as técnicas estudadas é possível elaborar laços que executam um determinado número de vezes com um contador (variáveis que
executam um determinado número de vezes) ou mesmo uma variável que aguarde a
Linguagem de Programação
• Laço de Repetição Incondicional
– Independentemente da forma de tratamento, essa variável é denominada variável de
controle. Os laços apresentados, além de operarem com contadores em execução de laços finitos, também podem ser usados na elaboração de laços de fluxo indeterminados. – Os laços que possuem um número finito de
execuções podem ser processados por meio de um laço de repetição executado pelo método for(), que tem seu funcionamento controlado por variável de controle do tipo contador,
Linguagem de Programação
• Laço de Repetição Incondicional
– Laços com um número finito de execuções.
– Esse tipo de laço, funciona controlado por uma variável contadora, podendo ser crescente ou decrescente..
• Algoritmos
– Estrutura de repetição:
• para/faça/fim-para - PSEUDOCÓDIGO.
para <variável> de <valor inicial> até <valor final> passo faça <comandos a serem repetidos>
fim-para
<valor a ser acrescentado ou diminuído>
• Algoritmos
– Estrutura de repetição:
• para/faça/fim-para - PSEUDOCÓDIGO. – Exemplo:
para n ate 10 passo 1
faca
escreva n
fimpara
Linguagem de Programação
• Laço de Repetição Incondicional
• Sintaxe na linguagem C#:
for (<início>; <fim>; <incremento>) {
<instruções 1>;
<instruções 2>;
<instruções N>;
}
Linguagem de Programação
• Laço de Repetição Incondicional
– O laço for na linguagem C# é executado por um método que recebe três parâmetros de trabalho, separados por ponto e vírgula. O primeiro
parâmetro é representado por uma variável e seu valor inicial, o segundo parâmetro é
representado pela condição de finalização da execução do laço e o terceiro e último
parâmetro pelo contador de incremento que ocorre entre o valor inicial e o valor final da contagem.
Linguagem de Programação
• Estrutura de Repetição: Enquanto / While
• Português Estruturado Visualg X Linguagem C#
• Comparação das Sintaxe:
for (<início>; <fim>; <incremento>) {
<instruções 1>; <instruções 2>; <instruções N>; }
para inicio ate fim passo incremento faca escreva n
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Exemplo01 { class Program
static void Main(string[] args) long FAT = 1, N, I; Console.Write("Informe um valor: "); N = long.Parse(Console.ReadLine()); for (I = 1; I <= N; I++){ FAT *= I; } Console.WriteLine(); Console.WriteLine("Fatorial de {0} = {1}.", N, FAT); Console.WriteLine();
Console.Write("Tecle algo para encerrar... "); Console.ReadKey(); } } } Exemplo utilizando a estrutura de repetição For:
Exercícios
Exercícios de Fixação
• Desenvolva os programas seguintes em linguagem C# a partir do ambiente integrado de programação Visual C# com as técnicas de execução de laços apresentadas. Não se esqueça de gravar cada projeto.
1. Apresentar o total da soma dos valores numéricos inteiros ímpares situados na faixa de 0 a 20. Para verificar se o
número é ímpar, efetuar o cálculo dentro do loop por meio do cálculo do resto da divisão do valor do contador por 2. Se o resto obtido for diferente de zero, some os valores obtidos. Usar para essa verificação lógica da instrução if.
Exercícios de Fixação
2. Escreva um programa que apresente o valor da série de Fibonacci de um termo N fornecido. Por exemplo, se for fornecido o termo 6, o programa deve dar como saída o valor 8. A série de Fibonacci é formada pela
sequência 1, 1, 2, 3, 5, 8, 13, 21, 34... etc. A série se
caracteriza pela soma de um termo posterior com o seu anterior subsequente.
3. Um comitê olímpico solicitou a elaboração de um
programa para atender as competições de natação que serão realizados em um clube. Como entrada de valores, esse algoritmo deverá receber o numero de
competidores(N) e os seus respectivos tempos(em
segundos). Como resultado, deverá apresentar o tempo médio obtido, considerando todos os nadadores. Também deve exibir o melhor e o pior tempo obtidos.
Exercícios de Fixação
4. Escreva um algoritmo que exiba o triângulo de Pascal, conforme indicado a seguir:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
Assim por diante...