Главная страница
Навигация по странице:

  • Листинг (с комментариями в исходном коде на русском языке)

  • Сравнительны анализ объектно-ориентированных языков программирования

  • Рассмотрим блок-схему решения данной задачи

  • Экранные

  • Список использованной литературы

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


    Скачать 1.43 Mb.
    НазваниеОтчет по лабораторной работе 3 Выбор процедурного и объектноориентрованного языков программирования для решения квадратного уравнения
    АнкорИнформатика. Выбор языка программирования
    Дата16.05.2023
    Размер1.43 Mb.
    Формат файлаdocx
    Имя файлаИнфориатика, выбор языка программирования.docx
    ТипОтчет
    #1135857

    Министерство образования и науки Российской Федерации Федерально государственное автономное образовательное учреждение высшего образования «Южно-Уральский государственный университет»

    Факультет «Архитектурно-строительный институт»

    Кафедра «Водоснабжение и водоотведение»
    ОТЧЕТ

    По лабораторной работе №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 - корни}

    begin

    writeln (' a');

    readln (a);

    writeln (' b');

    readln (b);

    writeln (' c');

    readln (c);

    if a=0 then writeln {'Для а=0 применение алгоритма невозможно.'}

    else begin

    d:=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 begin

    x1:= (-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);

    var

    a,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 begin

    Label2.color:=clRed;

    Label2.font.color:=clRed;

    Label2.caption:='Дискриминант меньше нуля.'+#10+

    'Уравнение не имеет корней.' end else

    begin

    {Вычисление корней}

    х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.ru


    написать администратору сайта