Файл: Отчет по лабораторной работе 3 Выбор процедурного и объектноориентрованного языков программирования для решения квадратного уравнения.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 02.12.2023

Просмотров: 96

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования и науки Российской Федерации Федерально государственное автономное образовательное учреждение высшего образования «Южно-Уральский государственный университет»Факультет «Архитектурно-строительный институт»Кафедра «Водоснабжение и водоотведение»ОТЧЕТПо лабораторной работе №3«Выбор процедурного и объектно-ориентрованного языков программирования для решения квадратного уравнения»Руководитель работы: ст. преподаватель______________________/С.В. Сяськов«____» _____________________ 2020 г.Автор работы: студент гр. АСЗ-205 __________________/Э.Д. Мирсодиков«____» _____________________ 2020 г.Челябинск 2020ЗаданиеНаписать программу для решения квадратного уравнения на процедурном языке программирования и оформить отчет по ней в программе MS Word.Отчет должен содержать:- титульный лист - лист задания - ГСА - сравнительный анализ процедурных языков программирования- выбор языка программирования- листинг (с комментариями в исходном коде на русском языке)- экранные формы- сравнительны анализ объектно-ориентированных языков программирования- выбор объектно-ориентированного языка программирования на базе их сравнительного анализа- листинг (с комментариями в исходном коде на русском языке)- экранные формы- выводы- библиографический списокУравнение вида ax² + bx + c = 0, где а ≠ 0, называют квадратным уравнением.a – первый коэффициент;b – второй коэффициент;c – свободный член уравнения; a, b, c - действительные числа.Если, а = 1, то квадратное уравнение называют приведенным.Если, а ≠ 1, то квадратное уравнение называют неприведенным.Корни уравнения вида ax² + bx + c = 0 определяют по формуле:D – дискриминант квадратного уравнения, рассчитывается по формуле:Если D=0, то уравнение имеет один корень.Если D<0, то уравнение не имеет решения.Если D>0, то уравнение имеет два корня.Если b = 0, то квадратное уравнение называется неполным и принимает вид: ax² + c = 0В этом случае корень уравнения находится по формуле:
Если с = 0, получим квадратное уравнение без свободного члена вида: ax² + bx = 0, гдекорень уравнения равен нулю, х = 0Графическая схема алгоритма представлена на рисунке 1.Рисунок 1. Блок-схемаСравнительный анализ процедурных языков программированияСравнивая процедурные языки программирования, считаю наиболее оптимальным для решения квадратного уравнения, применения языка Паскаль. Листинг (с комментариями в исходном коде на русском языке):Программа на языке Pascal.Program korni; {Программа называется korni}Var a, b, c, d: real; {a, b, c – коэффициенты уравнения, d- дискриминант}x1, x2 : real; {х1, х2 - корни}beginwriteln (' a');readln (a);writeln (' b');readln (b);writeln (' c');readln (c);if a=0 then writeln {'Для а=0 применение алгоритма невозможно.'}else begind:=b*b-4*a*c;if d<0 then writeln {Корней нет'};if d=0 then begin x1:= -b/2/a; writeln('x=',x1:6:2); end; if d>0 then beginx1:= (-b+sqrt(d))/2/a; x2:= (-b-sqrt(d))/2/a;writeln ('x1=',x1:6:2, ' x2=',x2:6:2); {‘Корни уравнения:’}end;end;end.Рисунок 2. Скриншот экранаСравнительны анализ объектно-ориентированных языков программированияЗадача. Составить программу решения квадратного уравнения ax2+bx+c=0.Учитывая все достоинства и недостатки, считаю наиболее оптимальным применения языка Visual basicРешение. Алгоритм.Запросить значение переменных а, b и c .Присвоить D значение b2 – 4* a * c .Если D > 0, то:Присвоить х1 значение  (-b-sqr(D))/2*aПрисвоить х2 значение  (-b+sqr(D))/2*aСообщить значение х1 и х2Иначе если D =0, то:Присвоить х значение  (-b)/2*a

Сообщить значение хИначе:Сообщить «Уравнение корней не имеет».Конец если.Конец.Рассмотрим блок-схему решения данной задачи:Написаниепрограммногокодаprocedure SqRoot(Editi,Edit2,Edit3:tEdit;Label2:tLabel);vara,b,c:real; {Коэффициенты уравнения}d:real; {Дискриминант}xl,x2:real; {Корни уравнения}begin{Ввод исходных данных} a:=StrToFloat(Editl.text);b:=StrToFloat(Edit2.text);с:=StrToFloat(Edj.t3.text);{ Вычисление дискриминанта } d:=Sqr(b)-4*a*c;if d=0 then beginLabel2.color:=clRed;Label2.font.color:=clRed;Label2.caption:='Дискриминант меньше нуля.'+#10+'Уравнение не имеет корней.' end elsebegin{Вычисление корней}х1:=(-b+Sqrt(d))/(2*a);x2:=(-b-Sqrt(d))/(2*а);{ Вывод результата - значений корней}Label2.font.color:=clBlack;Label 2.caption='Корни уравнения:' +#10+'xl=1+FloatToStr(xl)+#13+'x2='+FloatToStr(x2);end;end.ЭкранныеформыВыводНет самого удобного языка программирования, каждому нужно своё и под определённые нужды. Все они обладают своими положительными и отрицательными качествами, которые будут так или иначе влиять на процесс разработки. Список использованной литературы

  1. Гради Буч «Объектно-ориентированный анализ и проектирование с примерами приложений»
2. Бадд, Т. Объектно-ориентированное программирование в действии / Т. Бадд. - СПб.: Питер, 2011. - 464 с.3. Буч, Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++ / Г. Буч; пер. с англ. И. Романовский, Ф. Андреев. - М.: Бином, 2012. - 560 с.4. Казакова А.Е. Методологические основания развития языков программирования: диссертация по ВАК 09.00.08. - М., 2008. - Режим доступа: dissertCat.com.5. Дал, У.И. Симула-67: Универсальный язык программирования / У.И. Дал, Б. Мюрхауг, К. Нюгорд; пер. с англ. К.С. Кузьмина, Е.И. Яковлева. - М.: Мир, 2011. - 100 с.6. https://urok.1sept.ru0>