Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Комп’ютерні науки
Кафедра:
Не вказано

Інформація про роботу

Рік:
2016
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Алгоритмізація та програмування

Частина тексту файла (без зображень, графіків і формул):

Відокремлений структурний підрозділ Золочівський коледж Національного університету «Львівська політехніка» Циклова комісія природничо-математичних та комп’ютерних дисциплін ЗВІТ Про виконання лабораторних робіт з дисципліни «Алгоритмізація та програмування» Студента 2 курсу ОПС-2 групи Напряму підготовки 6.050101 Комп’ютерні науки Спеціальності 5.05010101 Обслуговування програмних систем та комплексів Бомк Б.В. Викладач Чіпак І.П. м. Золочів – 2016 рік Практична робота №5 Тема. Використання циклів. Програмування обрахунків за ітераційними формулами. Мета: вивчення циклів та їх застосування в прогамному середовищі Delphi. Хід роботи Отримати допуск до роботи у викладача, давши відповідь та теоретичні запитання. Написати програми до завдань та реалізувати їх у середовищі Delphi Скласти звіт,у якому зобразити теоретичні відомості, виконані програми та результати виконання програм,відповіді на контрольні питання та висновки до лабораторної роботи. Захистити звіт у викладача. Завдання 1. Протабулювати функцію y:=sin(2*x)-2*cos(x) з кроком 0.2 на відрізку від 1 до 20. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ActnList, StdCtrls, ComCtrls, Menus; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Memo1: TMemo; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; procedure N6Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N9Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.N6Click(Sender: TObject); begin close; end; procedure TForm1.N2Click(Sender: TObject); var x,y,h,a,b:real; cod:integer; s1,s2:string; begin label1.Caption:=' y:=sin(2*x)-2*cos(x)'; val(edit1.Text,a,cod); val(edit2.Text,b,cod); val(edit3.Text,h,cod); x:=a; while x<=b+h/2 do begin y:=sin(2*x)-2*cos(x); str(x:10:2,s1); str(y:10:2,s2); memo1.Lines.Add(s1+s2); x:=x+h; end; end; procedure TForm1.N3Click(Sender: TObject); begin Memo1.Clear; end; procedure TForm1.N4Click(Sender: TObject); begin Edit1.Clear; Edit2.Clear; Edit3.Clear; end; procedure TForm1.N8Click(Sender: TObject); begin ShowMessage ('Протабулювати функцію y:=sin(2*x)-2*cos(x) з кроком 0.2на відрізку віл 1 до 20.'); end; procedure TForm1.N9Click(Sender: TObject); begin ShowMessage (‘Автор програми Бомк Богдан’); end; end.d. [Додаток 1] Завдання 2. Написати програму, яка здійснює переведення цілого додатного числа із десяткової системи у двійкову та в довільну систему числення з основою від 2 до 9. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Button1: TButton; Button2: TButton; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } Public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var x,y:longint; begin x:=strtoint (edit1.Text); label8.caption:=' '; while x>0 do begin y:=x mod 2; x:=x div 2; label8.Caption:=inttostr(y)+label8.Caption; end end; procedure TForm1.Button2Click(Sender: TObject); var x,y,osn:longint; begin x:=strtoint (edit2.Text); osn:=strtoint (edit3.text); if osn<2 then showmessage ('Некоректне значення'); if osn>9 then showmessage ('Некоректне значення') else label9.Caption:=' '+'значення у системі з основою'+':'+edit3.text; while x>0 do begin y:=x mod osn; x:=x div osn; label9.caption:=inttostr(y)+label9.caption; end; end; end. [Додаток 2] Завдання 3 Створити програму для обчислення факторіала. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Button1: TButton; Label2: TLabel; Edit2: TEdit; Button2: TButton; Button3: TButton; procedure Button3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button3Click(Sender: TObject); begin close ; end; procedure TForm1.Button1Click(Sender: TObject); var i,f,n:integer; begin n:=strToint (edit1.Text); f:=1; for i:=1 to n do f:=f*i; edit2.text:=inttostr(f); end; procedure TForm1.Button2Click(Sender: TObject); begin edit1.Text:=''; edit2.Text:=''; edit1.setfocus; end; end. [Додаток 3] Завдання 4. Створити проект, в якомудрукується певний символ N разів в один рядок (в один стовпчик). unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Label1: TLabel; Edit1: TEdit; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N5: TMenuItem; N8: TMenuItem; Label2: TLabel; Edit2: TEdit; procedure N8Click(Sender: TObject); procedure N5Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.N5Click(Sender: TObject); var rs,i:integer; x:longint; begin rs:=strtoint(edit2.text) ; For i:=1 to rs do Memo1.Lines.Add(edit1.text); end; procedure TForm1.N8Click(Sender: TObject); begin close; end; end. [Додаток 4] Завдання 5. Створити проект, в якому відбувається розрахунки та друкування коренів квадратних з натурального ряду чисел від N до K. N,K– визначає користувач в вікні форми. unit Unit1 interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Button1: TButton; Label3: TLabel; Label4: TLabel; Label6: TLabel; Label5: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var f,x,y,i,h:integer; begin x:=strtoint(edit1.Text); y:=Strtoint(edit2.Text); for i:=x to y do Label6.caption:=inttostr(i)+' '+label6.caption; begin for i:=x to y do Label5.caption:=floattostr(sqrt(i))+' '+label5.caption; end; end; end. [Додаток 5] Завдання 6 Генерувати 15 випадкових цілих числа 10<x<100. Якщо серед них трапляються кратні 10, друкувати їх значення та його номер. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; Memo1: TMemo; procedure N6Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Implementation {$R *.dfm} procedure TForm1.N6Click(Sender: TObject); begin Close; end; procedure TForm1.N4Click(Sender: TObject); begin Memo1.Clear; edit1.clear; end; procedure TForm1.N2Click(Sender: TObject); var y,i,x,cod:integer; s1,s2:string; begin y:=strtoint(edit1.text); val(edit1.Text,y,cod) ; for i := 1 to y do begin randomize; x:=1+Random(100); if (x mod 10)=0 then memo1.Lines.Add('Випадкове число -- '+IntToStr(x)+' –Порядковий номер '+IntToStr(i)) ; end; end; end. [Додаток 6] Завдання 7 Знайти значення виразу unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Image1: TImage; Button1: TButton; Label2: TLabel; Label3: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var x,i:integer; y:real; begin x:=strtoint(edit1.Text); for i:=5 to 25 do y:=(exp(x*i))/x*i+1; label2.caption:=floattostr(y)+ label2.caption; end; end. [Додаток 7] Завдання 8 Надрукувати таблицю значень функціїy=f(x) на інтервалі x∊[a;b] з кроком Δx unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Label3: TLabel; Label4: TLabel; Image1: TImage; Button1: TButton; Edit2: TEdit; Edit3: TEdit; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var x,y,h,a,b:real; cod:integer; s1,s2:string; begin val(edit1.Text,a,cod); val(edit2.Text,b,cod); val(edit3.Text,h,cod); x:=a; while x<=b+h/2 do begin y:=sqrt(abs(x*(cos(x/2))+exp(2*x))); str(x:10:2,s1); str(y:10:2,s2); memo1.Lines.Add(s1+s2); x:=x+h; end; end; end. [Додаток 8] Висновок: Ми навчилися викростовувати цикли ы програмувати обрахунки за ітераційними формулами. ДОДАТКИ Додаток 1 / Мал.1.1. Табулювання функцыъ Додаток 2 / Мал.1.2 Переведення чисел Додаток 3 / Мал.1.3 Обчислення факторіала Додаток 4 / Мал.1.4 Друк символів Додаток 5 / Мал.1.5 Програма для обчислення коренів Додаток 6 / Мал.1.6 Random Додаток 7 / Мал.1.7 Обчислення виразу Додаток 8 / Мал.1.8 Обчислення функції Оцінка_______________ Підпис викладача____________
Антиботан аватар за замовчуванням

03.11.2017 16:11-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!