РефератыИнформатикаПрПрограммирование на языке высокого уровня 2

Программирование на языке высокого уровня 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 Постановка задачи


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



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 (abs(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.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Программирование на языке высокого уровня 2

Слов:864
Символов:9897
Размер:19.33 Кб.