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

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

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

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

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

Відокремлений структурний підрозділ Золочівський коледж Національного університету «Львівська політехніка» Циклова комісія природничо-математичних та комп’ютерних дисциплін ЗВІТ Про виконання лабораторних робіт з дисципліни «Алгоритмізація та програмування» Студента 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:57

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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