Exemplo de Pascal Cyclic TIC Algoritmo. Tipos de algoritmos cíclicos de ciclos e equipes cíclicas em Pascal

Slide 2.

Plano

Ciclo do operador do conceito do ciclo para o ciclo durante a literatura da repetição do ciclo

Slide 3.

Literatura

Kastalorv A.f., evstratova g.a. Idioma de programação Pascal: tutorial para universidades. - Cherepovets: Gou VPO Chsu, 2010. - 117 c. - Bibliogr.: P.114. Livro de texto eletrônico na linguagem de programação Pascal /http://Pascal.guti.ru Plano

Slide 4.

Conceito de ciclo

Algoritmos para resolver muitas tarefas são cíclicas, no qual, para alcançar o resultado, uma certa seqüência de ações é realizada várias vezes. Por exemplo, o programa de controle de conhecimento exibe uma pergunta, aceita a resposta, adiciona uma marca para a resposta à quantidade de pontos e repete essas ações até que o assunto responda a todas as perguntas. Ou, por exemplo, para procurar o sobrenome desejado na lista, verifique o primeiro nome da lista para corresponder à coincidência, depois o segundo, terceiro, etc. Enquanto o sobrenome desejado for encontrado ou o final da lista será encontrado.

Slide 5.

O algoritmo em que há um grupo de operadores realizados várias vezes é chamado cíclico. Um grupo de operadores repetidos é chamado de corpo de ciclo. Em Pascal, os ciclos podem ser implementados usando, enquanto e repetem os operadores de ciclo. Plano

Slide 6.

Operador de ciclo para

O operador do ciclo para o ciclo é usado se o corpo do ciclo deve ser realizado várias vezes, e o número de repetições é conhecido com antecedência.

Slide 7.

1ª forma de ciclo de operador de gravação para

A 1ª forma de operador de gravação para operador é geralmente descrita da seguinte forma: Forschechik: \u003d Initial_TreatmentmentTo-frente_dorator; Onde, para, fazer - palavras de serviço. O medidor é uma variável de um tipo de seqüência (geralmente como inteiro), que determina o número de repetições de ciclo. O número de repetições é considerado de acordo com a fórmula: o final_dative é a inicial_station + 1. O valor final_ deve ser maior ou igual ao inicial_name.

Slide 8.

Se o corpo do ciclo consistir em vários operadores, a 1ª forma de gravação do operador para o operador se parece com esta: Forschechik: \u003d Initial_Nameto-confined_do Begin (corpo do ciclo) End;

Slide 9.

Considere o algoritmo para o trabalho do ciclo para ciclo na primeira forma de gravação. O contador é atribuído ao valor inicial. Condição é verificada: o valor do contador é maior que a final_station? Se a condição for verdadeira (sim), a execução do ciclo termina. Se a condição for falsa (não), o corpo do ciclo é realizado, o valor do contador aumenta por uma e as condições verificar novamente, isto é. p.

Slide 10.

2ª forma de ciclo de operador de gravação para

A 2ª forma de operador de gravação para operador é geralmente descrita da seguinte forma: para contador: \u003d inicial_downdownto-end_dactivity. Onde: para, downto, fazer palavras de serviço. O contador é uma variável do tipo de sequência (geralmente como inteiro), o que determina o número de repetições de ciclo. O número de repetições é considerado pela fórmula: a inicial_ valor-finite_dation + 1. Initial_namedInterioridade para ser maior do que ou igualmente pretendido.

Slide 11.

Se o corpo do ciclo consistir em vários operadores, então a 2ª forma de gravação do operador para o operador se parece com esta: forschechik: \u003d initial_downtofo-noite começa // fim do ciclo do corpo;

Slide 12.

Considere o algoritmo para a operação do ciclo para ciclo na segunda forma de gravação: o contador é atribuído o valor inicial. Condição é verificada: o valor do contador é menor que a final_station? Se a condição for verdadeira (sim), a execução do ciclo termina. Se a condição for falsa (não), o corpo do ciclo é executado, o valor do contador diminui por unidade e as condições verificam novamente, isto é. p.

Slide 13.

Operador de ciclo para

programex1; Var i, n: inteiro; (I - Contador, N - O número necessário de estrelas) S: string; (s - a linha de string gerada) Begem Writeln ("Digite o número de estrelas"); (O número de asteriscos) Readln (N) é solicitado; (O usuário insere o número de spars n) s: \u003d ""; (A formação da cadeia de curso começa com uma string vazia) (a string é formada ao longo do ciclo para o ciclo. A inicial_nity é medidor - 1, a finalidade é o número necessário de spars n.) Fori: \u003d 1 a n do s: \u003d S + "*"; (em cada etapa do ciclo para a string, um asterisco) Writeln (s) é colado (a linha é exibida) Readln; fim. Exemplo de plano: O programa forma a sequência de string. O número de estrelas na string é determinada pelo usuário.

Slide 14.

Enquanto o ciclo

O ciclo durante todo o ciclo é usado se o número de repetições do corpo do ciclo durante o programa for desconhecido e só pode ser determinado durante sua operação. Em geral, a afirmação while é escrita da seguinte forma: enquanto condição do douperador; Onde enquanto, faça - palavras de serviço. Condição é uma expressão de tipo lógico que determina a continuação do ciclo.

Slide 15.

Se o corpo do ciclo consistir em vários operadores, o ciclo durante todo o ciclo é escrito da seguinte forma: Início do ciclo de início // final do ciclo;

Slide 16.

Considere o algoritmo do ciclo durante todo o ciclo: uma condição é verificada. Se a condição for verdadeiramente, o corpo do ciclo é realizado. Depois disso, a condição é verificada novamente. Se a condição for falsa, o ciclo será concluído.

Slide 17.

Assim, quando o ciclo com a pré-condição ou ciclo "enquanto o corpo do ciclo ainda é verdadeiro condição). Se, quando você passar pela primeira vez o ciclo, a condição será falsa, o corpo do ciclo nunca será cumprido. Se a condição nunca se tornar falsa, o ciclo será repetido infinitamente, isto é. Frio vai ocorrer.

Slide 18.

Programa EX2; Varaccount: real; (tamanho da conta) Mês: inteiro; (Número de meses desde a abertura da conta) Bom Conta: \u003d 1000; (na despesa colocar 1000 rublos) mês: \u003d 0; (A conta acabou de abrir) whileaCount

Slide 19.

Repetir o ciclo

O ciclo de repetição, bem como o ciclo enquanto é usado no programa se você precisar executar um corpo de ciclo várias vezes, mas o número de repetições é desconhecido. Em geral, o ciclo de repetição é escrito da seguinte forma: Repetir // ciclo do corpo até a condição; Onde repetir, até - palavras de serviço. Condição é uma expressão de tipo lógico que determina o final do ciclo.

Slide 20.

Considere o algoritmo operacional do ciclo de repetição: a repetição e até o corpo do ciclo é realizado entre as palavras reservadas. A condição é verificada. Se a condição for verdadeiramente, o ciclo será concluído. Se a condição for falsa, o corpo do ciclo é novamente realizado.

Slide 21.

Assim, o repetição é um ciclo com um pós-onda ou ciclo "para" (o corpo do ciclo é realizado para a verdade da condição). Consequentemente, o corpo do ciclo é realizado pelo menos uma vez. Se a condição nunca se tornar verdadeira, o ciclo se tornará infinito.

Slide 22.

Programa EX3; Var tempo: inteiro; (Tempo de entrega) células: inteiro; (número de célula) Tempo de início: \u003d 0; (célula ainda nunca começou) células: \u003d 1; (único) tempo de repetição: \u003d tempo + 3; (após as próximas três horas) células: \u003d Células * 2; (o número de células aumentou em 2 vezes) até as células\u003e 24; (até a condição de verdade "número de células mais de 24") Writeln (tempo); (saída) Readln; fim. Exemplo de fábrica: Ameba unicelular a cada 3 horas é dividida em 2 células. Determine, depois de quantas horas o número de células excedem 24.

Ver todos os slides

Slide 1.

Algoritmo Cíclico do Contratante Robot
Apresentação para a lição de informática. Grau 9 Assunto: Gestão e Algoritmos

Slide 2.

Para i: \u003d 1 a n começo a ação1; Ação2; Fim;
Para I: \u003d 1 a N do Action1; Ação2;
1

Slide 3.

2
Enquanto (condição verdadeira) começa a ação1; Ação2; Fim;
Enquanto (condição verdadeira) do Action1; Ação2;

Slide 4.

3
17 células
12 células

Slide 5.

4
Programa N1; Var I: inteiro; Comece por i: \u003d 1 a 12 do robotforw; Robotleft; Para I: \u003d 1 a 17 do robotforw; Robotleft; Para i: \u003d 1 a 12 do robotforw; Robotleft; Para I: \u003d 1 a 17 do robotforw; Robotleft; fim.
Movendo para baixo
Movendo-se para a direita
Subindo
Movendo-se para a esquerda
Isso e os seguintes comandos voltam para o canto do robô para a esquerda

Slide 6.

5
Se você colocar a parede, o robô vai mergulhar nele e o programa vai parar

Slide 7.

6
Programa N2; Var I: inteiro; Começar enquanto Freeforw faz robotforw; Robotleft; Enquanto Freeforw faz robotforw; Robotleft; Enquanto Freeforw faz robotforw; Robotleft; Enquanto Freeforw faz robotforw; Robotleft; fim.
Enquanto à frente é livre, execute um robô para frente.

Slide 8.

Slide 9.

8
Programa N3; Var I: inteiro; Comece para I: \u003d 1 a 4 Comece enquanto Freeforw do Robotforw; Robotleft; fim; fim.
Quatro vezes para avançar, até que não haja obstáculo e vire à esquerda

Slide 10.

9
Quatro vezes para avançar, até que não haja obstáculo, e vire à esquerda

Slide 11.

10
Tarefas para o trabalho independente
Tarefa 1. A parede esquerda da situação em um local arbitrário é um obstáculo. O robô deve chegar ao ponto 1 e retornar ao seu estado original. Nota: Use três ciclos conectados consecutivamente.
1
1

Slide 12.

11
Tarefa 2. A parede esquerda da situação em um local arbitrário é esculpida. O robô deve chegar à carga, levá-lo para transportá-lo para o armazém e retornar ao seu estado original. Nota: Use dois ciclos conectados consecutivamente.

Slide 13.

12
Tarefa 3. A parede esquerda da situação em uma localização arbitrária é colocada cinco cargas. O robô deve toda a carga para transportar para o armazém. Nota: Use dois ciclos sequencialmente conectados até agora investidos em um ciclo com um parâmetro.

Slide 14.

13
Exemplo 1 Robot está localizado em frente à entrada do corredor. É necessário notar todas as células dentro do corredor e retornar

Slide 15.

14
Programa N7; Começar robotforw; Enquanto não Freeleft começa a selecionar; Robotforw; fim; Robotback; Enquanto não Freeleft do Robotback; fim.
Nós fazemos um passo em frente para entrar no túnel
Enquanto à esquerda há uma parede, celebre a gaiola e faça um passo em frente
Voltar para o túnel
Enquanto a parede esquerda, movendo um passo para trás

Slide 16.

15
Exemplo 2 Existem duas paredes fornecidas por um ângulo. Os comprimentos das paredes são arbitrários. O robô está no canto entre as paredes (veja a figura). É necessário fazer um programa no qual o robô marca todas as células no interior da parede. A posição final do robô arbitrariamente.

Slide 17.

16
Programa N8; Comece sem que a Freeright comece a seleção; Robotforw; fim; Enquanto o livre robotback; Robotleft; Enquanto não Freeleft começa a selecionar; Robotforw; fim; fim.
Enquanto a direita não é livre, celebro a célula e faço um passo em frente.
Devolva o robô de volta
Vire à esquerda
Enquanto a esquerda não é livre, celebro a célula e faço um passo em frente.

Slide 18.

Slide 19.

18
Exemplo 3 A situação se sobrepõe a parede que divide a situação em duas partes. A parede tem uma passagem em um tamanho de célula em um lugar arbitrário. É necessário fazer um programa no qual o robô encontra essa passagem e vai para outra parte da situação.

Slide 20.

19
Programa N9; Começar robotleft; Enquanto Freeforw faz robotforw; Robotright; Enquanto não freeleft do robotforw; Robotleft; Robotforw; Robotforw; fim.
Gire o robô em direção à parede.
Estamos nos avançando até que eu não fique na parede
Vire o robô ao longo da parede
Avançando até a parede não terminar
Vire o robô em direção à passagem
Nós fazemos dois passos para frente, vamos para outra metade da situação

Descrição da apresentação em slides individuais:

1 slide

Descriço do Slide:

O assunto das classes: "os algoritmos da estrutura cíclica. Ciclos de programação no Pascal »Disciplina" Informática "

2 slide.

Descriço do Slide:

Os principais conceitos do tema nesta ocupação são estudados pelos seguintes conceitos: o conceito de um ciclo; Variedades de algoritmos cíclicos (ciclo com precondição, ciclo com postband, ciclo com parâmetro); Diagramas de blocos de algoritmos cíclicos; representação de operadores de ciclos na linguagem de programação de Pascal; Aplicando ciclos ao resolver problemas.

3 slide.

Descriço do Slide:

O conceito de um ciclo ao resolver muitas tarefas, uma e a mesma seqüência de ações é realizada várias vezes. Por exemplo, após a admissão para instituição educacional O aluno dá aos exames, calculados pelos pontos marcados por eles (variáveis \u200b\u200bs; seu valor inicial S: \u003d 0;). Para cada exame, recebe estimativas n. se a estimativa for maior que "2", então s: \u003d S + N; Caso contrário, pare os cálculos (saia do ciclo).

4 slide

Descriço do Slide:

O conceito de ciclo de ciclo é uma sequência de operadores que podem ser realizados mais de uma vez. O algoritmo cíclico é chamado de algoritmo que fornece uma repetição múltipla da mesma ação em novos dados. Existem três tipos de operadores de ciclo: ciclos com pré-condição; Ciclos com pós-condições; Ciclos com um metro.

5 slide

Descriço do Slide:

Ciclo com pré-condição. Digite o ciclo enquanto prescreve o corpo do ciclo até que a condição seja executada, registrada após o fluxograma de palavras com a pré-condição

6 slide

Descriço do Slide:

Ciclo com pré-condição. Digite o ciclo enquanto o ciclo durante todo o ciclo acima é usado quando o número de repetição do corpo do ciclo é desconhecido com antecedência, e depende da condição. Se a condição for verdadeira, o corpo do ciclo é executado, novamente verificando as condições e até que a condição se torne falsa.

7 slide

Descriço do Slide:

Ciclo do operador com prepala (enquanto - durante o ciclo) Este operador de repetição mais comumente usado tem uma visão comum de Pascal (formato): enquanto<условие> Fazer.<оператор>; Aqui, faça palavras reservadas (de inglês: enquanto - em, do - fazer);<условие> - Expressão lógica;<оператор> - operador arbitrário (possivelmente composto).

8 slide

Descriço do Slide:

Ciclo com postband. Digite o ciclo até a ordem do operador do ciclo com uma detonação, a execução de operadores de 1-N é repetida até que a condição se torne correta. Neste ciclo, a condição é verificada somente após os corpos do ciclo. Segue-se que o corpo sempre executa pelo menos uma vez o fluxograma com o postcal

9 slide

Descriço do Slide:

Ciclo com postband. Tipo de ciclo antes de ser importante! O ciclo com o post é realizado pelo menos uma vez independentemente da condição. A conveniência indubitável do ciclo de loop é que dentro dela você pode escrever vários operadores sem o uso de um operador composto. Verificação de condições é após o corpo do ciclo. Palavra de serviço até.

10 slide

Descriço do Slide:

Ciclo do operador com pós-banda (tipo até ciclo) Visão geral (formato) Operador de ciclo com Pascal Pascal Próximo: Repita<Оператор 1>; <Оператор 2>; … <Оператор N>; Até<условие>;

11 Slide.

Descriço do Slide:

Um exemplo da aplicação do operador do ciclo com o pós-banda para a saída para a tela em parealmente, os valores da variável n \u003d 1, 2, 3, 4, 5, 6, 7, 8, 9 e Variável A \u003d 10, 20, 30, 40, 50, 60, 70 e 70, 80, 90 Este operador será: N: \u003d 0; Repita n: \u003d n + 1; A: \u003d 10 * n; Writeln (N: 2, ', A: 3); Até n\u003e \u003d 9;

12 slide

Descriço do Slide:

Ciclo com parâmetro. Um tipo de ciclo de tipo com um parâmetro é usado quando você deseja executar um determinado número de etapas de ciclo. Deve-se notar que o ciclo Pascal de Pascal não é muito flexível (em contraste, por exemplo, deste tipo de ciclo na linguagem c). Porque, no Pascal, o parâmetro do ciclo (ou contador) varia por um valor igual a um. Assim, quando é necessário para executar uma etapa fracionária, você deve usar um ciclo do tipo enquanto. Existem duas variedades do ciclo para: com aumentamento e com uma diminuição nos valores do medidor (ou parâmetro). Diagrama de blocos de ciclo com parâmetro (para ciclo)

13 slide

Descriço do Slide:

14 slide.

Descriço do Slide:

Operador de ciclo com parâmetro. Tipo de ciclo para uma exibição comum (formato) de um operador de ciclo com o parâmetro para<счетчик> := <начальное значение> para.<конечное значение> Comece.<Операторы> fim; Para<счетчик> := <начальное значение> Até.<начальное значение> Comece.<Операторы> fim; Com um aumento nos valores do medidor (parâmetro) com uma diminuição nos valores do medidor (parâmetro)

15 slide

Descriço do Slide:

Operador de ciclo com parâmetro. Tipo de ciclo para o operador que implementa o ciclo para - para ser usado se for necessário que o fragmento do programa repetiu o número especificado de vezes para<переменная цикла>: = <начальное значение> Que<конечное значение> Fazer.<оператор>; Aqui: para, para, fazer - palavras reservadas (português: para, antes, executar);<счетчик (параметр) цикла> - digite variável. Inteiro, que varia no segmento de<начального значения>, aumentando a unidade no final de cada passo do ciclo;<оператор> - Qualquer operador (mais frequentemente compósito).

16 slide

Descriço do Slide:

Operador de ciclo com parâmetro. Um tipo de ciclo que a declaração consiste em um cabeçalho e um corpo de ciclo. O operador composto localizado no corpo do ciclo deve ser incluído em suportes de operadores iniciais e finais. · O identificador do medidor é geralmente usado "i". · A variável do medidor deve ser um tipo de seqüência. Por exemplo, tipo inteiro: byte, inteiro. · Os valores iniciais e finais do parâmetro do ciclo não podem ser alterados durante o ciclo. · O operador para organizar ciclos com fixo, adiantado conhecido ou determinado durante a execução do programa pelo número de repetições.

17 slide

Descriço do Slide:

O uso de ciclos ao resolver problemas, cada um dos ciclos descritos acima pode ser usado para programar o Pascal das mesmas tarefas com um algoritmo cíclico.

18 slide

Descriço do Slide:

Número da tarefa 1 Abra o programa Pascalabc.net (programas integrados para programas de programação Pascal) Salve o programa na pasta com seu nome no sistema pasta de trabalho Pabcwork.net \\ your_in / cikl_1.pas Salve como ...

19 slide

Descriço do Slide:

Tarefa número 1 usando o ciclo enquanto (com a pré-condição) para fazer e depurar um programa que calcula a soma dos quadrados de todos os números naturais de 1 a 100. Dados iniciais: A: inteiro; Resultado - Valor: S: Longint; Programa EX1; Var A: inteiro; S: Longint; (Inteiro longo) iniciar um: \u003d 1; S: \u003d 0; (variable S para acumular quantidades) enquanto um<=100 Do { Начало цикла – проверка условия } Begin S:=S+A*A; A:=A+1 End; Writeln(‘Вывод результата S= ’ ,S) End. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas

20 slide

Descriço do Slide:

Tarefa 2. Deliberar a estrutura cíclica no idioma Pascal no programa Pascalabc.net ABC Ambiente; Var x, u: inteiro; Começar x: \u003d 2; Enquanto X.<= 10 do begin Y:=x*x; writeln(‘вывод х: ’, x, ‘вывод у: ’, y); x:= x+2; end; end. Применить оператор цикла с предусловием для вычисления значения функции y=x2, при значениях x 2, 4, 6, 8, 10. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_2.pas























Para trás para a frente

Atenção! As slides de pré-visualização são usadas exclusivamente para fins informativos e podem não fornecer ideias sobre todas as capacidades de apresentação. Se você estiver interessado neste trabalho, faça o download da versão completa.

Objetivo: Estudando a estrutura algorítmica dos ciclos, a criação de modelos e algoritmos para resolver problemas práticos.

Durante as classes

I. Atualização do conhecimento

  • Repita o conceito do algoritmo, os projetos básicos da linguagem algorítmica.
  • Para poder desenvolver um modelo matemático, o algoritmo e o esquema de blocos para resolver o problema.
  • Tem o conceito de linguagens de programação e sua nomeação.
  • Ser capaz de trabalhar no ambiente de programação.
  • Conheça a estrutura do programa.
  • Ser capaz de gravar expressões contendo valores numéricos e de caracteres.
  • Conhecer a estrutura de operadores e características do seu trabalho.
  • Para poder aplicar os operadores ao escrever programas com estruturas lineares e ramificadas.
  • Para ser capaz de criar e executar programas de depuração.

Ii. Lição teórica material

A maioria das tarefas práticas requerem várias repetições das mesmas ações, isto é, a reutilização de um ou mais operadores. (Apresentação)

Deixe ser necessário entrar e processar a seqüência de números. Se os números forem apenas cinco, você pode fazer um algoritmo linear. Se houver milhares deles, escreva um algoritmo linear, mas muito tedioso e irracional. Se o número de números no momento em que o algoritmo é desconhecido, o algoritmo linear é fundamentalmente impossível.

Outro exemplo. Para encontrar o sobrenome de uma pessoa na lista, você precisa verificar o primeiro nome da lista, depois o segundo, terceiro, etc. Até que o desejado ou o final da lista seja encontrado ou não seja encontrado. Você pode superar tais dificuldades com ciclos.

O ciclo é chamado de várias porções executáveis \u200b\u200bdo algoritmo (programas). Assim, o algoritmo cíclico é um algoritmo contendo ciclos.

Existem dois tipos de ciclos: com um número conhecido de repetições e com um número desconhecido de repetições. Ao mesmo tempo, em ambos os casos, há uma série de repetições no estágio do desenvolvimento do algoritmo.

Existem 3 tipos de estruturas cíclicas:

  • Ciclo com pré-condição;
  • Ciclo com pós-clinação;
  • Ciclo com parâmetro;

Caso contrário, essas estruturas são chamadas de "até", "para" ciclos de tipo.

Forma gráfica de estruturas algorítmicas de gravação de dados:

Ciclo com pré-condição (caso contrário, ciclo até) Parece:

doença - Expressão lógica.

O ciclo não pode ser executado se o valor da expressão lógica aparecer imediatamente para ser uma mentira.

Série de comandos localizados entre o início e a extremidade são realizados até até agora, a condição é verdadeira .

Para para o final do ciclo, é necessário que a sequência de instruções entre o início e a alteração final do valor das variáveis \u200b\u200bincluídas doença.

Ciclo com pós-condições (caso contrário, ciclo antes) Parece:

doença - Expressão lógica.

Observação:

Seqüência de instruções entre cadarepetir. eaté será sempre cumprido pelo menos uma vez;

Para que o ciclo seja concluído, é necessário que a sequência de operadores entrerepetir. eaté Alterou os valores das variáveis \u200b\u200bincluídas na condição de expressão.

A instrução repetida, assim como a instrução enquanto é usada no programa, se você precisar realizar alguns cálculos repetitivos (ciclo), mas o número de repetição não é conhecido com antecedência e é determinado pelo número do próprio cálculo.

Ciclo com um parâmetro (caso contrário, ciclo para) Tem a forma:

eu - parâmetro de ciclo;
A - o valor inicial do ciclo;
B - o valor final do ciclo;
h é um passo de mudança de parâmetros.

A estrutura deste ciclo é chamada de ciclo eu vezes.

Este comando é feito desta maneira: o parâmetro i é atribuído O valor inicial A é comparado com o valor final B e, se for menor ou igual ao valor final B, uma série de comandos é executada. O parâmetro é atribuído o valor do anterior, ampliado h. - Etapas das alterações no parâmetro e novamente em comparação com o valor final b.

Na linguagem de programação, Pascal, o passo de mudança de parâmetro pode ser igual a um ou menos um.

Se apenas um operador estiver entre iniciar e final, os suportes do operador não podem escrever. Esta regra funciona para um ciclo de tipo "ainda" e "para".

Considere um exemplo de resolver tarefas usando essas estruturas.

Exemplo.

Calcule o produto de números de 1 a 5 usando várias opções de ciclo.

Modelo matemático:

P \u003d 1 · 2 · 3 · 4 · 5 \u003d 120

Vamos fazer um algoritmo na forma de um fluxograma.

Para verificar a exatidão do algoritmo, preencha a tabela de rastreamento.

Etapa Operação R. eU. Condição de verificação
1 P: \u003d 1 1
2 i: \u003d 1; 1 1
3 eU.<=5
P: \u003d p * eu
I: \u003d i + 1
1 1 1<=5, да (истина)
4 eU.<=5
P: \u003d p * eu
I: \u003d i + 1
2 2 2<=5, да (истина)
5 eU.<=5
P: \u003d p * eu
I: \u003d i + 1
6 3 3<=5, да (истина)
6 eU.<=5
P: \u003d p * eu
I: \u003d i + 1
24 4 4<=5, да (истина)
7 eU.<=5
P: \u003d p * eu
I: \u003d i + 1
120 5 5<=5, да (истина)
8 eU.<=5
P: \u003d p * eu
I: \u003d i + 1
6<=5, нет (ложь)

As condições de verificação ocorrem em várias etapas: verificando os termos e execução de comandos em um dos ramos. Portanto, a tabela de rastreio não registra os comandos de algoritmo, mas operações separadas realizadas pelo computador em cada etapa.

Passo um: P é atribuído um valor um.

Passo dois: Eu é atribuído a um.

Etapa Terceiro: Na unidade Igual, verificando a condição sozinha menor ou igual a cinco, sim, a condição é verdadeira, significa que o valor de um multiplicado para um será dois. Para eu: um mais um, haverá dois.

Etapa quatro:no I Igual a dois, a condição é atualmente menor ou igual a cinco, sim, a condição é verdadeira, significa que o valor de 2 multiplicado para um, será 2. Para I: Dois mais um, haverá três .

Pitch Quinto:no I igual a três, verificamos a condição três menos ou iguais a cinco, sim, a condição é verdadeira, o que significa que P atribui o valor de dois multiplicados por três, haverá seis. Para I: Três mais um, haverá quatro.

Etapa seis:em I Igual a quatro, a condição é quatro menos ou igual a cinco, sim, a condição é verdadeira, significa que o valor de seis multiplicado por quatro será vinte e quatro. Para I: Quatro mais um, haverá cinco.

Passo sétimo:para eu igual a cinco, a condição é cinco menos ou igual a cinco, sim, a condição é verdadeira, significa que o valor de vinte e quatro multiplicado por cinco será cento e vinte. Para I: Cinco mais um, haverá seis.

Etapa oitavo:em I Igual a seis, a condição é seis menos ou igual a cinco, não, a condição é falsa, então deixamos o ciclo, e como resultado, obtemos o último valor igual a cento e vinte.

Programa PR1;
Var I: inteiro;
Começar.
P: \u003d 1;
i: \u003d 1;
Enquanto eu.<=5 do
Começar.
P: \u003d p * i;
i: \u003d i + 1;
fim;
Escreva ('p \u003d', p);
fim.

Para um ciclo com uma deselância, construímos uma mesa de diagrama de blocos e traços. (slide16)

Como resultado, obtemos o último valor igual a cento e vinte no sétimo passo

E para um ciclo com um parâmetro, construímos um diagrama de blocos e tabela de rastreamento. (slide17)

Como resultado, obtemos o último valor igual a cento e vinte no sexto passo

Uma tarefa:

Exibir números de 1 a 5 V:

  1. para a frente;
  2. ordem reversa.

Modelo matemático:

  1. 1 2 3 4 5;
  2. 5 4 3 2 1.

O diagrama de blocos e o problema de resolver o problema são apresentados para números em ordem direta e inversa.

(Slide 21)

Registramos os algoritmos considerados na linguagem de programação Pascal.

(Slide 22)

Iii Resumindo a lição

E assim revisamos as seguintes perguntas:

  1. Ciclo de estrutura algorítmica;
  2. Tipos de estruturas algorítmicas:
    1. Ciclo com pré-condição;
    2. Ciclo com pós-clinação;
    3. Ciclo com parâmetro;
  3. Considerou maneiras de escrever essas estruturas;
  4. Exemplos desmontados de resolver problemas com a ajuda dessas estruturas.

Algoritmos cíclicos06.04.2017.
Algoritmos cíclicos.
Tipos de ciclos e cíclicos
Equipes em Pascal.

O ciclo é repetido
Repetição de seqüência
açao
Repetindo parte do algoritmo
chamado corpo do ciclo
Tipos de ciclos
Com um determinado número
Repetições
Termos e Condições
ciclo
Com condição
A condição de saída é
ciclo

Tipos de ciclos (conteúdo)
Ciclo com pré-condição
Prática
Ciclo com postband.
Prática
Ciclo com parâmetros
Prática
Solução de tarefas complexas

Ciclo com pré-condição

Prática

condição e a ação que precisa ser executada apenas
Depois de verificar as condições, use o ciclo na pré-condição.


Antes que cada execução do corpo do ciclo seja verificada
condições, se o resultado da "verdade", então o corpo do ciclo é realizado
Mais uma vez, se "mentir", então há uma saída do ciclo.
No bloco - esquema
Ciclo de início
Não
Doença
SIM
Corpo de ciclo
Fim do ciclo
Em Pascal.
Enquanto<условие> Faz.
Começar.
<тело цикла>
fim;

Ciclo com postband.

Prática
Se o número de repetições é desconhecido, mas especificado apenas
condição e a ação que deve ser feita antes
Verificações de condição Use ciclo com a postcal.
Como condição, uma expressão lógica é usada, corpo
O ciclo é um operador simples ou composto.
Após cada execução do corpo do ciclo, verifica
condições se o resultado for "falso", então o corpo do ciclo é realizado
Mais uma vez, se a "verdade", então há uma saída do ciclo.
No bloco - esquema
Em Pascal.
Repetir.
Corpo de ciclo
<тело цикла>
sim
Não
Doença
Até<условие>;

Ciclo com parâmetro

Prática
Ciclo com parâmetro
Nos casos em que o número de repetições é conhecido antecipadamente
Um ciclo é usado no parâmetro.
Uma variável especificando o número de repetições é chamado
O parâmetro do ciclo ou variável de controle.
Após cada ciclo de execução do corpo gerenciamento
A variável aumenta ou diminui, ciclo
É executado até que seja hora até que exceda
serão menos limitações.
No bloco - esquema
Em Pascal.
Para x: \u003d a b doo
X: \u003d a, b, c
Corpo de ciclo
X - variável de controle (parâmetro de ciclo)
A - significado inicial X, em - finito x
C - um passo de mudança x
Começar.
<тело цикла>
Fim;
Como um passo você pode usar
só:
"Para" \u003d 1;
"Downto" \u003d -1

Exemplo de uma tarefa usando um ciclo com uma pré-condição
Teoria

Algoritmo da Sliver:
Multiplicar o número X é inicialmente igual a 1
O número especificado de vezes (H) é 3.
Começar
Programm Stepen;
Var.
H, b, x: inteiro;
Começar.
Writeln ("grau?" ');
Readln (h);
X: \u003d 1;
B: \u003d 1;
Enquanto B.<=H do
Começar.
X: \u003d x * 3;
B: \u003d B + 1;
Fim;
Writeln ('resultado', x);
Fim.
Pascal.
N.
Digite um determinado grau
X: \u003d 1
Valores iniciais.
B: \u003d 1
Não
Contador de "b" graus
B ≤
sim
X: \u003d x * 3
Multiplicação por 3.
B \u003d em + 1
Aumentar o medidor
H.
A desolução do recebido
Valores
fim
Diagrama de bloco
Explicações

Um exemplo de uma tarefa usando um ciclo com um postcal
Teoria
Tarefa: Levante o número 3 em um determinado grau
Algoritmo da Sliver:

Programm Stepen;
Var.
H, b, x: inteiro;
Começar.
Writeln ("grau?" ');
Readln (h);
X: \u003d 1;
B: \u003d 0;
Repetir.
X: \u003d x * 3;
B: \u003d B + 1;
Não
Até b\u003e \u003d h;
Writeln ('resultado', x);
Fim.
Começar
N.
Digite um determinado grau
X: \u003d 1
Valores iniciais.
B: \u003d 0
Multiplicação por 3.
X: \u003d x * 3
Aumentar o medidor
B \u003d em + 1
sim
B\u003e \u003d h
Contador de "b" graus
H.
A desolução do recebido
Valores
fim
Pascal.
Diagrama de bloco
Explicações

Um exemplo de uma tarefa usando um ciclo com um parâmetro
Teoria
Tarefa: Levante o número 3 em um determinado grau
Algoritmo da Sliver:
Multiplicar o número X é inicialmente igual a 1 número especificado de vezes (H) por 3.
Programm Stepen;
Var.
H, b, x: inteiro;
Começar.
Writeln ("grau?" ');
Readln (h);
X: \u003d 1;
Para b: \u003d 1 a h doo
Começar.
X: \u003d x * 3;
Fim;
Writeln ('resultado', x);
Fim.
Pascal.
Começar
N.
X: \u003d 1
B: \u003d 1, H, 1
X: \u003d x * 3
H.
fim
Diagrama de bloco
Digite um determinado grau
O valor inicial X \u003d 1
Parâmetros de 1 BC
Multiplicação por 3.
A desolução do recebido
Valores
Explicações

A seleção do ciclo depende das características do problema. Apenas a prática lhe dirá a solução ideal.

Tarefa: Iniciando o treinamento, atleta no primeiro dia
correu 10 km. Todos os dias ele aumentou a luz do dia
Norma por 10% da norma do dia anterior.
O que um caminho total é atleta por 7 dias.
Variáveis \u200b\u200bde entrada:
d - número de dias
SD - Distância para o dia atual
Variáveis \u200b\u200bde saída:
S - caminho compartilhado

Bloco - esquema para resolver

começar
S: \u003d 10
SD: \u003d 10
D: \u003d 1
D: \u003d D + 1
SD: \u003d SD * 1.1
S: \u003d S + SD
não
D \u003d 7.
sim
S.
fim

Programa em Pascal.

Ciclo "por"
Ciclo "enquanto"
Ciclo "antes"
Program Início;
Program Início;
Program Início;
Var.
Var.
Var.
S, sd: real;
S, sd: real;
S, sd: real;
D: Byte;
D: Byte;
D: Byte;
Começar.
Começar.
Começar.
S: \u003d 10;
S: \u003d 10;
S: \u003d 10;
SD: \u003d 10;
SD: \u003d 10;
SD: \u003d 10;
Para D: \u003d 2 a 7
Começar.
Enquanto D.<7 do
Começar.
Repetir.
D: \u003d D + 1;
SD: \u003d 1,1 * SD;
D: \u003d D + 1;
SD: \u003d 1,1 * SD;
S: \u003d S + SD;
SD: \u003d 1,1 * SD;
S: \u003d S + SD;
fim;
S: \u003d S + SD;
Até (d \u003d 7);
Writeln ('S \u003d', S);
fim;
Writeln ('S \u003d', S);
Fim.
Writeln ('S \u003d', S);
Fim.
Fim.

Perguntas para controle:
1. Qual operador em Pascal é definido com o ciclo com
Provisse
2. Como no ciclo no parâmetro, indique a etapa "1" e "-1"
3. Que ramo vem do ciclo com
Postcondition.
4. Existe um ciclo com o parâmetro de condição
5. O que poderia ser o corpo do ciclo
6. Quando o ciclo é usado com parâmetros
o fim