Учебная работа. Реферат: Программирование на языке высокого уровня 2

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 4,80 из 5)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Программирование на языке высокого уровня 2

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ (Российская Федерация — ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«Уфимский муниципальный авиационный технический институт»

ФИЛИАЛ В ГОРОДЕ СТЕРЛИТАМАКЕ

КАФЕДРА естественно-НАУЧНЫХ И ОБЩЕПРОФЕССИОНАЛЬНЫХ ДИСЦИПЛИН

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к расчетно-графической работе по Информатике

«Программирование на языке высочайшего уровня»

2403.402103.000ПЗ

(обозначение документа)


Группа СПС-102з
Фамилия И.О.
Подпись
Дата
Оценка

Студент
Камалеев Э.С.

Проверил

Стерлитамак 2010 г.

Содержание

1… Задание 1. 2

1.1Постановка задачки. 2

1.2Блок-схема программки.. 2

1.3Исходные данные для отладки и тестирования программки.. 3

1.4Исходный текст программки.. 3

1.5Экранная форма программки.. 4

2… Задание 2. 5

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

2.2Блок – схема программки.. 5

2.3Исходные данные для отладки и тестирования программки.. 7

2.4Исходные данные программки.. 7

2.5Экранная форма программки.. 8

3… Задание 3. 9

3.1Постановка задачки. 9

3.2Блок-схема программки.. 9

3.3Исходные данные для отладки и тестирования программки.. 11

3.4Исходный текст программки.. 11

3.5Экранная форма программки.. 12

4… Задание 4. 13

4.1Постановка задачки. 13

4.2Блок-схема программки.. 13

4.3Исходные данные для отладки и тестирования программки.. 17

4.4Исходный текст программки.. 17

4.5Экранная форма программки.. 19







1 Задание 1







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

Даны действительные числа х
и у
, не равные друг другу. Наименьшее из этих 2-ух чисел поменять половиной их суммы, а большее – их двойным произведением.







1.2 Блок-схема программки







Набросок 1. Блок-схема действий над числами

Продолжение рис.1.





Набросок 1. Блок-схема действий над числами







1.3 Начальные данные для отладки и тестирования программки

В качестве начальных данных выберем произвольные 2 реальных числа a, bи проверим работу программки, нажав на клавишу «Выполнить».

Результаты можно поглядеть в рабочем окне программки на рис.2.







1.4 Начальный текст программки

procedure TForm1.Button1Click(Sender: TObject);

var a,b,c,d:real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

if (a=b) then ShowMessage(‘Числа равны! Введите различные числа.’);

if (a>b) then begin

c:=2*a*b;

d:=(a+b)/2;

end ;

if (a<b)then

begin

c:=(a+b)/2;

d:=2*a*b;

end;

Edit3.Text:=FloatToStr(c);

Edit4.Text:=FloatToStr(d);

end;







1.5 Экранная форма программки

Набросок 2. Итог выполнения программки







2 Задание 2







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

Протабулировать функцию данной формулой:

где с=4, a=2.8, b=-0.3,, h=0.05.







2.2 Блок – схема программки







Набросок 3. Блок-схема табулирования функции

Продолжение Рис.3.

Набросок 3. Блок-схема табулирования функции







2.3 Начальные данные для отладки и тестирования программки

В качестве начальных данных выберем значения a=1, b=2, h=0.05 и проверим работу программки, нажав клавишу «Табулировать».

Результаты можно поглядеть в рабочем окне программки рис.4.







2.4 Начальные данные программки

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,a1,b1,c1,h,x,y:extended;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

h:=StrToFloat(Edit3.Text);

a1:=2.8;

b1:=-0.3;

c1:=4;

x:=a;

Memo1.Clear;

Memo1.Lines[0]:=’ x | y ‘;

Memo1.Lines.Add(‘———-‘);

while x<=b do begin

if (x<1.2) then y:=a1*x*x+b1*x+c1;

if (x=1.2) then y:=a1/x+sqrt(x*x+1);

if (x>1.2) then y:=(a1+b1*x)/sqrt(x*x+1);

Memo1.Lines.Add(FloatToStrf(x,fffixed,5,2)+’|’+FloatToStrf(y,fffixed,5,2));

x:=x+h;

end;

end;







2.5 Экранная форма программки

Набросок 4. Итог выполнения программки







3 Задание 3







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

1. Дан массив целых чисел из n
частей, заполненный случайным образом числами из промежутка [-10,20]. Отыскать сумму частей, имеющих нечетные индексы.

2. Подсчитать количество частей массива, значения которых больше данного числа А
и кратных 5.

3.Отыскать номер первого отрицательного элемента, делящегося на 5 с остатком 2.







3.2 Блок-схема программки





Набросок 5. Блок-схема процедуры наполнения массива случайными числами


Набросок 6. Блок-схема процедуры для нужных вычислений и вывода результатов на экран







3.3 Начальные данные для отладки и тестирования программки

В качестве начальных данных вводим хоть какое целое число n – количество частей массива и, нажав на клавишу «Сделать массив», формируем одномерный массив, заполненный случайным образом целыми числами из промежутка [-10,20].

При нажатии на клавишу «Выполнить» происходит вычисление, данные в задании.

Результаты можно поглядеть в рабочем окне программки рис. 7







3.4 Начальный текст программки

Описание глобальных переменных

var

Form1: TForm1;

n:integer;

a:array of integer;

текст процедуры для задания массива случайными числами.

procedure TForm1.Button1Click(Sender: TObject);

var

i:integer;

begin

Randomize;

n:=StrToInt(Edit1.Text);

SetLength(a,n);

Edit2.Clear;

for i:=1 to n do

begin

a[i]:=Random(30)-10;

Edit2.Text:=Edit2.Text+’ ‘+IntToStr(a[i]);

end;

end;

текст процедуры для вычислений и вывода результатов на дисплее

procedure TForm1.Button2Click(Sender: TObject);

var

sum,i,k,l,a1:integer;

begin

Edit3.Clear;

Edit4.Clear;

Edit5.Clear;

a1:=StrToInt(Edit6.Text);

sum:=0;

k:=0;

For i:=1 to n do

if (i mod 2<>0) then sum:=sum+a[i];

If CheckBox1.Checked then Edit3.Text:=IntToStr(sum);

For i:= 1 to n do begin

if (a[i]>a1) and (a[i] mod 5=0) then k:=k+1;

end;

if CheckBox2.Checked then Edit4.Text:=IntToStr(k);

l:=0;

for i:=n downto 1 do begin

if (a[i]<0) and (абс(a[i]) mod 5 = 2) then l:=i;

end;

If CheckBox3.Checked then Edit5.Text:=IntToStr(l);

end;







3.5 Экранная форма программки

Набросок 7. Итог выполнения программки

Перечень использованной литературы

1. HTTP://wiki.lazarus.freepascal.org — Lazarus wiki энциклопедияпо Free Pascal Compiler/Lazarus

2. HTTP://lazarus.freepascal.org — Официальный веб-сайт проекта Lazarus

3. Бобровский С.И.,lazarus. Учебный курс (пособие для самообразования), 2005г.

4. Информатика: Учебник для вузов.- / Под ред. С.В. Симоновича. – СПб.: Питер, 2008.

]]>