Алгоритмические конструкции

Автор работы: Пользователь скрыл имя, 04 Марта 2013 в 17:45, курсовая работа

Краткое описание

Алгоритм - это точная последовательность предписаний, исполнение которых позволяет посредством конечного числа шагов получить решение задачи, однозначно определяемое исходными данными.
Тема актуальна, так как в любой среде программирования реализуются основные алгоритмические конструкции, развивающий алгоритмический стиль мышления, важность которого отмечена многими учёными. Ими подчёркивалась необходимость разработки алгоритмов.
Цель данного курсового проекта заключается в изучении основных алгоритмических конструкций и описании разработки программы в среде Delphi.

Содержание работы

Введение 3
1. Основные алгоритмические конструкции: 6
1.1 Циклический алгоритм. 6
1.2 Линейный алгоритм. 14
1.3 Разветвляющийся алгоритм. 14
2. Разработка программы в среде Delphi, показывающая информацию об учениках 16
2.1 Постановка задачи 16
2.2 Блок-схема 16
2.3 Программный код 17
2.4 Результаты работы 18
Выводы и предложения: 20
Список используемой литературы: 20

Содержимое работы - 1 файл

курсовой проект_ языки прогр..docx

— 156.57 Кб (Скачать файл)

янв, мар, май, июл, авг, окт, дек: Write('31');    

апр, июн, сен, ноя: Write('30');    

фев: Write('28');    

else Write ('это не месяц');  

end;

End.

Циклические конструкции.

1. Цикл с предусловием.

Для реализации циклов с  предусловием используется составной  оператор, включающий оператор while, do, операторные скобки.

В общем виде цикл реализуется  записью:    

while <условие> do <действие>;

Если тело цикла содержит более одного действия, то необходимо использовать операторные скобки:    

while <условие> do    

begin      

<оператор 1>;      

<оператор 2>;      

...      

<оператор n>;    

end;

2. Цикл с постусловием.

Для реализации цикла используется составной оператор, состоящий из операторов repeat и until.

В общем виде цикл записывается так:    

Repeat      

<действие>;    

until <условие>;

Пример: задано целое число. Вывести на печать все цифры введенного числа.  
1 способ:

 

 

 

 

  

var a,b:longint;  
    Begin  
      read(a);  
      repeat  
        b:=a mod 10;  
        writeln(b);  
        a:=a div 10;  
      until a=0;  
    End.


2 способ:

 

var a,b:longint;  
    Begin  
      read(a);  
      while a<>0 do  
        begin  
          b:=a mod 10;  
          write(b:3);  
          a:=a div 10;  
        end;  
    End.


3. Цикл с параметром.

 
Для реализации в языке  Pascal используется составной оператор, состоящий из операторов for, to, downto, do и при необходимости из операторных скобок. Переменная параметр обязательно объявляется в декларационной части программы и может принадлежать одному из порядковых типов.

Если при изменении  переменной параметра необходимо использовать переход к следующему значению, то используется оператор to; если переход необходимо осуществить к предыдущему значению, то используется оператор downto. Тогда в общем виде цикл записывается так:    

for I:=I0 to In do      

begin        

<оператор 1>;        

<оператор 2>;        

...        

<оператор n>;      

end;

1.2 Линейный алгоритм.

В алгоритмическом  языке  линейным  является  алгоритм,  состоящий  из

команд, выполняющихся одна за другой. Они в записи  алгоритма  располагаются

в том порядке, в каком  должны быть выполнены  предписываемые  ими  действия.

Такой порядок выполнения называется естественным. Последовательность команд образует составную команду «цепочка», которая  в  записи  блок-схемой имеет вид, приведенный на рисунке 2.


 

 

 

    

 

 

Рис.2 Блок-схема линейной структуры.

В математике к линейным алгоритмам относятся алгоритмы, представленные формулами.  Они  наиболее  просты   для   программирования.   Заметим,   что естественный способ кодировки  формул  делает  программу  легко читаемой,  но нередко приводит к лишним вычислениям,  поэтому,  чтобы  избежать  повторных вычислений и сократить общее количество  операций  выполняйте  тождественные преобразования выражений. С  другой  стороны,  надо  знать,  что  не  всегда следует осуществлять оптимизацию, поскольку  она является  не  правилом, а исключением. Этому есть три причины, главная из которых состоит в  том, что оптимизация ухудшает наглядность программ, вторая -  выгоды  от  оптимизации должны быть существенными и  третья  -  современные  системы,  как  правило, имеют удовлетворительные оптимизирующие компиляторы.

1.3 Разветвляющийся  алгоритм.

При исполнении  алгоритмов  приходится  не  только  находить  значения

величин, но и анализировать  их свойства, сравнивать их друг  с  другом  и  в

зависимости от результата сравнения выбирать ту или  иную  ветвь  алгоритма.

Алгоритмы,  имеющие  несколько  ветвей,  называются  нелинейными.  К   таким

относятся  разветвляющиеся  и   циклические   алгоритмы.   Для   их   записи

применяются составные команды.

Базовая  структура  "ветвление" определяет  выполнение  действий   в

зависимости от выполнения условия. Каждый из путей ведет  к  общему  выходу,

так что работа алгоритма  будет продолжаться независимо от того,  какой  путь

будет выбран.

Язык блок-схем                 

|Язык QBasic                         

|Неполное                                                        

|IF Условие THEN действия                

|Полное                                                             

|IF Условие THEN действия 1            

|ELSE действия 2                     

Пример алгоритма ветвления  на алгоритмическом языке QBasic:

INPUT «1 или 2?»

IF=1 OR I=2 THEN

PRINT “Ок”

ELSE

PRINT “Вне диапазона”

END IF

Разветвляющаяся блок-схема  приведена на рисунке 3.


 

 

 

 

 

Рис. 3 Разветвляющаяся блок-схема

Полная форма  ветвления.

If <условие>

Then <оператор 1>

Else <оператор 2>;

Неполная форма  ветвления

If <условие>

Then <оператор 1>; [6]

Полное ветвление позволяет  организовать две ветви в алгоритме (то или иначе), каждая из которых  ведет к общей точке их слияния, так что выполнение алгоритма  продолжается независимо от того, какой  путь был выбран.

Неполное ветвление предполагает наличие некоторых действий алгоритма  только на одной ветви (то), вторая ветвь  отсутствует, т.е. для одного из результатов  проверки никаких действий выполнять  не надо, управление сразу переходит  к точке слияния.

 

2. Разработка программы в среде Delphi, показывающая информацию об учениках

2.1 Постановка задачи

Разработать программу для  сохранения и обработки информации об учениках (ФИО, класс, адрес и т.д.). В программе сделать несколько  отчётов:

  • Все ученики одного класса
  • Проживают в одном доме

2.2 Блок-схема

 

2.3 Программный код

|unit жихарева;

interface

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.StdCtrls,

  Vcl.ExtCtrls, Vcl.Grids, Vcl.DBGrids, Vcl.ComCtrls;

type

  TForm1 = class(TForm)

    ComboBox1: TComboBox;

    PageControl1: TPageControl;

    DBGrid1: TDBGrid;

    PaintBox1: TPaintBox;

    DataSource1: TDataSource;

    Button1: TButton;

    ADOConnection1: TADOConnection;

    ADODataSet1: TADODataSet;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

 

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

ADODataSet1.Close;

 case ComboBox1.ItemIndex of

0:ADODataSet1.CommandText:='select имя, фамилия, очество, адрес, класс FROM клиенты';

1:ADODataSet1.CommandText:='select имя, фамилия, очество, адрес, класс FROM клиенты WHERE [класс] Like "4"';

2:ADODataSet1.CommandText:='select имя, фамилия, очество, адрес, класс FROM клиенты WHERE [адрес] Like "Чапаева, дом 110"';

end;

ADODataSet1.Open;

end;

end.

2.4 Результаты  работы

Ученики, проживающие в  одном доме

 

Учащиеся одного класса

Результат формирования всех учеников

 
Выводы и предложения

В данной работе мы узнали, что  такое алгоритм, и какое значение он имеет в повседневных задачах, и так алгоритм – это точная  последовательность  предписаний,  исполнение  которых позволяет  посредством  конечного  числа  шагов  получить  решение   задачи, однозначно определяемое исходными данными. Значение его в решении повседневных задачах играет важную роль, так например  информатика, как и арифметика, тоже дает явно необходимые знания для выживания человека в современном мире. Например, умение программировать домашнюю бытовую технику: видеомагнитофон (составление списка записываемых телепередач), магнитофон (составление списка записываемых дорожек аудио-CD), сотовый телефон (запоминание номеров, установка параметров, управление роумингом, управление голосовой почтой), часы и таймеры в любом бытовом приборе (выставление и корректировка времени), микроволновые печи, кофеварки, хлебопечки, телевизоры, наконец, компьютеры. Здесь необходимо составление алгоритма, запись которого осуществляется на языке прибора (кодирование в соответствии с прилагаемой инструкцией) с последующей загрузкой составленной программы в компьютер (домашнего) прибора.

Далее мы выяснили, что существуют 3 вида алгоритмов: линейный, разветвляющийся с полным и неполным ветвлением и циклический, который в свою очередь делится на цикл с постусловием и предусловием.

Впоследствии написания  данной работы, было необходимо решить задачу на языке Delphi и описать этапы её разработки. В результате чего получилась программа, в которой представлена информация об учениках: все ученики одного класса; проживают в одном доме.

 

 

Список используемой литературы:

 

  1. http://festival.1september.ru/articles/571923
  2. http://www.infosgs.narod.ru/20.htm
  3. В.Шелест. Программирование. 2002.
  4. Введение в информатику. Лабораторные работы. / Авт.-сост. А.П. Шестаков;
  5. Вычислительная техника и программирование. Под ред. А.В. Ретрова. Перм. ун-т. — Пермь, 1999
  6. Кузнецов А.А. и др. Основы информатики. - М.: Дрофа, 1998
  7. Кушниренко А.Г. и др. Информатика. - М.: Дрофа, 1998
  8. Л.З. Шауцукова, "Основы информатики в вопросах и ответах", Издательский центр "Эль-Фа", Нальчик, 1994
  9. Лебедев Г.В., Кушниренко А.Г. 12 лекций по преподаванию курса информатики. - М.: Дрофа, 1998
  10. Теоретический материал из лекций по информатике в МГАПИ.
  11. Шауцукова Л.З. Информатика 10 - 11. М.: Просвещение, 2000



Информация о работе Алгоритмические конструкции