Функционально – структурная схема программного продукта

Титульная форма

Постановка задачи: Представить сведения о разработчике и о программном продукте. Рекомендуемый вид формы (см. рис 1)

Рисунок 1Рекомендуемый вид формы

Таблица свойств установленных при проектировании формы

Объект Свойство Значение
Form1 Color clWhite
Caption ‘Разработка информационных систем’
Bordericons []
Font.size
Font.name Monotype Corsiva
Image1 Stretch True
Picture \...\001.ipg
Label1 Caption Приложение разработал студенто второго курса группы ИС2-1 в рамках прохождения учебной практики Иванов Иван Иванович
Wordwrap True
Button1 Caption ‘Вперед’
Button2 Caption ‘Выход’

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

Объект Событийно – управляемая процедура
Button1 uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, Menus, StdCtrls,unit2;     procedure TForm1.Button1Click(Sender: TObject); begin form1.Hide;{скрыть form1} form2.Show;{отобразить form2} end;
Button2 procedure TForm1.Button2Click(Sender: TObject); begin close end;

Главная форма

Рекомендуемый вид формы (см. рис 2)

Рисунок 2 Рекомендуемый вид формы

Таблица свойств установленных при проектировании формы

Объект Свойство Значение
Form2 Caption ‘Главное меню
Bordericons [biSystemMenu]
Font.size
Image1 Stretch True
Picture \...\002.ipg
MainMenu Caption

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

Объект Событийно – управляемая процедура
  uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, jpeg, ExtCtrls,unit3,unit4,unit5,unit6,unit7,unit8;
N11 procedure TForm2.N11Click(Sender: TObject); begin form2.Hide; form3.Show; end;
N21 procedure TForm2.N21Click(Sender: TObject); begin form2.Hide; form4.Show; end;
N31 procedure TForm2.N31Click(Sender: TObject); begin form2.Hide; form5.Show; end;
N51 procedure TForm2.N51Click(Sender: TObject); begin form2.Hide; form6.show; end;
N41 procedure TForm2.N41Click(Sender: TObject); begin form2.Hide; form7.show; end;
N61 procedure TForm2.N61Click(Sender: TObject); begin form2.Hide; form8.show; end;

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

Постановка задачи: Даны катеты прямоугольного треугольника. Найти его периметр. Рекомендуемый вид формы (см. рис 3)

Рисунок 3 Рекомендуемый вид формы

Таблица свойств установленных при проектировании формы

Объект Свойство Значение
Form3 Caption ‘Линейный алгоритм’
Bordericons []
Font.size
  Font.name Times New Roman
Image1 Stretch True
Picture \...\002.ipg
Label1 Caption ‘Даны катеты прямоугольного треугольника. Найти его периметр.’
Wordwrap True
Label2 Caption ‘Введите длины катетов в соответствующие поля’
Label3 Caption ‘a=’
Label4 Caption ‘b=’
Edit1 Text ‘’
Edit2 Text ‘’
Button1 Caption ‘Вычислить’
Button2 Caption ‘Главное меню’
Enabled false

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

Объект Событийно – управляемая процедура
Edit1 procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9', #13,#8]) then begin ShowMessage(Необходимо вводить только натуральные числа для корректной работы программы'); key:=#0; end; end;
Edit2 procedure TForm3.Edit2KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9', #13,#8]) then begin ShowMessage(Необходимо вводить только натуральные числа для корректной работы программы'); key:=#0; end; end;
Button1 procedure TForm3.Button1Click(Sender: TObject); var a,b:integer; p:real; begin If (edit1.Text='') or (edit2.Text='') then ShowMessage(Вы ввели недостаточное количество исходных данных,'+#13+' проверь те ввод данных и нажмите кнопку "Вычислить" ') Else begin a:=StrToInt(Edit1.Text); b:=StrToInt(Edit2.Text); p:= Sqr(a)+sqr(b)+sqrt(sqr(a)+sqr(b)); Showmessage('Ответ'+#13+floatTostrf(p,fffixed,4,2)); button2.Enabled:=true; edit1.Text:=''; edit2.Text:=''; end; end;
Button2 procedure TForm3.Button2Click(Sender: TObject); begin form3.hide; form2.show; end;

Целочисленная арифметика

Постановка задачи: Дано четырехзначное число. Найти число, полученное при прочтении его цифр справа налево. Рекомендуемый вид формы (см. рис 4)

Рисунок 4 Рекомендуемый вид формы

Таблица свойств установленных при проектировании формы

Объект Свойство Значение
Form4 Caption ‘Работа с числами’
Bordericons []
Font.size
  Font.name Times New Roman
Image1 Stretch True
Picture \...\002.ipg
Label1 Caption ‘Дано четырехзначное число. Найти число, полученное при прочтении его цифр справа налево’
Wordwrap True
Label2 Caption ‘Введите четырехзначное положительное число’
Edit1 Text ‘’
Button1 Caption ‘Вычислить’
Button2 Caption ‘Главное меню’
Enabled false

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

Объект Событийно – управляемая процедура
Form4 procedure TForm4.FormActivate(Sender: TObject); begin ShowMessage('Дано четырехзначное число.'+#13+' Найти число, полученное при прочтении его цифр справа налево '); end;
Edit1 procedure TForm4.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9', #13,#8]) then begin ShowMessage(Необходимо вводить только натуральные числа для корректной работы программы'); key:=#0; end; end;
Button1 procedure TForm4.Button1Click(Sender: TObject); var t,c,d,e:byte; a,b:integer; begin if length(Edit1.Text)<>4 then BEGIN Showmessage(‘Вы ввели не четырехзначное число.'+#13+Попробуйте еще раз'); EDIT1.Text:= ' '; edit1.SetFocus; end else begin a:=strtoint(Edit1.Text); t:=a div 1000; c:=a div 100 mod 10; d:=a div 10 mod 10; e:= a mod 10; b:=e*1000+d*100+c*10+t; label4.Caption:='Ответ'+ #13+'полученное число равно '+ intToStr(b); end; button2.Enabled:=true; end;
Button2 procedure TForm4.Button2Click(Sender: TObject); begin form4.Hide; form2.show; end;

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

Постановка задачи: Даны три числа, вывести те из них, которые являются четными. Рекомендуемый вид формы (см. рис 5)

Рисунок 5 Рекомендуемый вид формы

Таблица свойств установленных при проектировании формы

Объект Свойство Значение
Form5 Caption ‘Разветвляющийся алгоритм’
Bordericons []
Font.size
  Font.name Times New Roman
Image1 Stretch True
Picture \...\002.ipg
Label1 Caption ‘Даны три числа, вывести те из них, которые являются четными.’
Wordwrap True
Label2 Caption ‘Введите три числа и нажмите кнопку “Вычислить” ‘
Edit1 Text ‘’
Edit2 Text ‘’
Edit3 Text ‘’
Button1 Caption ‘Вычислить’
Button2 Caption ‘Главное меню’
Enabled false

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

Объект Событийно – управляемая процедура
Edit1 procedure TForm5.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9', #13,#8]) then begin ShowMessage(Необходимо вводить только натуральные числа для корректной работы программы'); key:=#0; end; end;
Edit2 procedure TForm5.Edit2KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9', #13,#8]) then begin ShowMessage(Необходимо вводить только натуральные числа для корректной работы программы'); key:=#0; end; end;
Edit3 procedure TForm5.Edit3KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9', #13,#8]) then begin ShowMessage(Необходимо вводить только натуральные числа для корректной работы программы'); key:=#0; end; end;
Button1 procedure TForm5.Button1Click(Sender: TObject); begin label6.Caption:='Четные числа: '; if StrToInt(edit1.Text) mod 2=0 then label6.Caption:=label6.Caption+ edit1.Text+' '; if StrToInt(edit2.Text) mod 2=0 then label6.Caption:=label6.Caption+ edit2.Text+' '; if StrToInt(edit3.Text) mod 2=0 then label6.Caption:=label6.Caption+ edit3.Text+' '; button2.Enabled:=true; end;
Button2 procedure TForm5.Button2Click(Sender: TObject); begin form5.Hide; form2.show; end;

Циклический алгоритм

Постановка задачи: найти сумму положительных нечетных чисел, меньших 50. Рекомендуемый вид формы (см. рис 6)

Рисунок 6 Рекомендуемый вид формы

Таблица свойств установленных при проектировании формы

Объект Свойство Значение
Form7 Caption ‘Циклический алгоритм’
Bordericons []
Font.size
  Font.name times new roman
Image1 Stretch true
Picture \...\002.ipg
Label1 Caption ‘Найти сумму положительных нечетных чисел, меньших 50.’
Button1 Caption ‘Вычислить’
Button2 Caption ‘Главное меню’
Enabled false

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

Объект Событийно – управляемая процедура
Button1 procedure TForm7.Button1Click(Sender: TObject); var i:byte; s:integer; begin s:=0; i:=1; while i<51 do begin s:=s+i; i:=i+2; end; ShowMessage(Сумма положительных нечетных чисел меньших 50 равна '+ IntToStr(s)); button2.Enabled:=true; end;
Button2 procedure TForm7.Button2Click(Sender: TObject); begin form7.hide; form2.show; end;

Одномерный массив

Постановка задачи: Каждое число Фибоначчи вычисляется как f1=0, f2=1, а начиная с третьего по формуле fn=fn-1+fn-2. Составить программу, которая вычисляет n чисел Фибоначчи. Рекомендуемый вид формы (см. рис)

Рисунок 7 Рекомендуемый вид формы

Таблица свойств установленных при проектировании формы

Объект Свойство Значение
Form6 Caption ‘Одномерный массив’
Bordericons []
Font.size
Font.name times new roman
Image1 Stretch true
Picture \...\002.ipg
Label1 Caption ‘Каждое число Фибоначчи вычисляется как f1=0, f2=1, а начиная с третьего по формуле fn=fn-1+fn-2. составить программу, которая вычисляет n чисел Фибоначчи.’
Label2 Caption ‘Введите количество чисел’
Edit1 Text ‘’
Label3 Caption ‘Последовательность фибоначчи’
Label4 Caption ‘’
Button1 Caption ‘Вычислить’
Button2 Caption ‘Главное меню’
Enabled false

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

Объект Событийно – управляемая процедура
Edit1 procedure TForm6.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in['0'..'9', #13,#8]) then begin ShowMessage(Необходимо вводить только натуральное число для корректной работы программы'); key:=#0; end; end;
Button1 procedure TForm6.Button1Click(Sender: TObject); var n:integer; i:byte; f:array of integer; begin label4.Caption:=' '; if strtoint(edit1.Text)=0 then begin showMessage('Введите размерность последовательности); edit1.Text; edit1.SetFocus; end else begin   n:=strtoint(edit1.Text); setlength(f,n); f[0]:=0; f[1]:=1; label4.Caption:=intTostr(f[0])+' '+intTostr(f[1])+' '; for i:=2 to n-1 do begin f[i]:=f[i-1]+f[i-2]; label4.Caption:=label4.Caption+intTostr(f[i])+' '; end; end; Button2.Enabled:=true; end;
Button2 procedure TForm6.Button2Click(Sender: TObject); begin form6.Hide; form2.show; end;

Двумерный массив

Постановка задачи: Дан массив целых чисел. Определить сумму элементов массива больших 30. Рекомендуемый вид формы (см. рис 8)

Рисунок 8 Рекомендуемый вид формы

Таблица свойств установленных при проектировании формы

Объект Свойство Значение
Form8 Caption ‘Двумерный массив’
Bordericons []
Font.size
Font.name times new roman
Image1 Stretch true
Picture \...\002.ipg
Label1 Caption ‘Дан массив целых чисел. определить сумму элементов массива больших 30.’
Label2 Caption ‘’
Button1 Caption ‘Ввести размерность’
Enabled false
Button2 Caption ‘Заполнить и вывести элементы массива’
WordWrap true
Enabled false
Button4 Caption ‘Обработать элементы массива’
Enabled False
WordWrap True
Button5 Caption ‘Главное меню’
StringGrid1 Name St1
FixedRows
FixedCols
RowCount
ColCount

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

Объект Событийно – управляемая процедура
  var Form8: TForm8; a:array of array of integer; i, j, n, m:byte; s:integer;
Button1 procedure TForm8.Button1Click(Sender: TObject); begin n:=strtoint(Inputbox('Ввод','Введите количество строк','3')); m:=strtoint(Inputbox('Ввод','Введите количество столбцов','3')); st1.ColCount:=m; st1.RowCount:=n; button2.Enabled:=true; button1.Enabled:=false; setlength(a,n,m); end;
Button2 procedure TForm8.Button2Click(Sender: TObject);   begin   st1.Visible:=true; for i:=0 to n-1 do for j:=0 to m-1 do   begin a[i,j]:=StrToInt(Inputbox('Ввод','Введите очередной элемент','6')); st1.Cells[j,i]:=inttostr(a[i,j]); end; button2.Enabled:=false; button4.Enabled:=true; end;
Button4 procedure TForm8.Button4Click(Sender: TObject); begin Button2.Enabled:=false; s:=0; for i:=0 to n-1 do for j:=0 to m-1 do if a[i,j]>30 then s:=s+ a[i,j]; label2.Visible:=true; label2.Caption:='Сумма элементов массива, больших 30 равна ' + IntToStr(s); end;
Button5 procedure TForm8.Button5Click(Sender: TObject); begin form8.Hide; form2.show; end;

Литература

1. Златопольский, Д.М. Сборник задач по программированию.-2-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2007.

2. Информатика: Учеб. Пособие для 10-11 кл. общеобразоват. Учреждений/ Л. З. Щауцукова. – М.: Просвещение, 2000.

3. Сборник задач по курсу информатики / под редакцией Л.И. Белоусовой. – М.: Издательство «Экзамен», 2007.

4. Рудаков, А. В. Технология разработки программных продуктов : учебник для студ. сред. проф. Образования / А. В. Рудаков.-М.: Издательский центр «Академия», 2012.

5. Разработка структурной и функциональной схем. Метод пошаговой детализации [Электронный ресурс]/(http://yourmetod.ru) Проверено 04.04.2013