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

  • Алгоритм

  • Результат работы программы

  • Задание №2.

  • 2.1Решение

  • Описание структуры программы

  • Результаты работы программы

  • 2.2Решение

  • Решение: Для набора чисел используем генератор случайных чисел с задаваемым пределом количества этих чисел и создадим файл. Алгоритм

  • ЛИТЕРАТУРА

  • Контрольная работа №1. Контрольная работа 1 По дисциплине Информатике2 Вариант6 Студент гр з362П54


    Скачать 296.16 Kb.
    НазваниеКонтрольная работа 1 По дисциплине Информатике2 Вариант6 Студент гр з362П54
    Дата17.03.2023
    Размер296.16 Kb.
    Формат файлаdocx
    Имя файлаКонтрольная работа №1.docx
    ТипКонтрольная работа
    #998328


    Федеральное государственное бюджетное образовательное

    учреждение высшего образования

    ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

    УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

    Кафедра промышленной электроники.

    (ПрЭ)


    КОНТРОЛЬНАЯ РАБОТА №1
    По дисциплине Информатике-2

    Вариант№ 6





    Выполнил:

    Студент гр. з-362П5-4

    (номер группы)

    _______________ / Толмачев Т.С./

    (подпись) И. О. Фамилия

    «_22_»___10___2022г.

    (дата)



    Проверил:

    ______________________________

    (должность, ученая степень, звание)

    ______________ /____________________/

    (подпись) И. О. Фамилия

    «____»_______________20____г.

    (дата)

    Томск 2022

    Задание №1

    Определить, пересекаются ли параболы у = аx2+bx+c и
    у = dx2+mx+n. Если пересекаются, то найти точку пересечения.

    Решение:

    Чтобы определить пересекаются ли параболы, надо найти хотя бы 1 общую точку.

    Y1 =a*x^2 + b*x + c – уравнение первой параболы

    Y2=d*x^2 + m*x + n – уравнение второй параболы

    Y1=Y2





    решив это квадратное уравнение можно найти общие точки



    Если D < 0, то общих точек у парабол нет.

    Если D = 0, то параболы имеют 1 общую точку.

    Если D > 0, то параболы имеют 2 общие точки.



    При a=d будет деление на ноль, что невозможно.

    Затем подставить значение (х) в одно из уравнений для нахождения (y)



    Теперь можно составить алгоритм решения задачи.

    Алгоритм:



    Описание структуры программы:

    Для решения задачи необходимы шесть переменных: a, b, c, d, m, n. Переменные вещественного типа.
    Для очистки экрана используется специальная процедура
    ClrScr из модуля CRT

    Код программы:
    Program z001;
    Uses CRT;
    Var a,b,c,d,m,n,x,x1,x2,y,y1.y2,di: real;

    Begin

    Clr Scr;

    Writeln(‘Введите переменные a,b,c,d,m,n, через пробел:’);

    Readln(a,b,c,d,m,n);

    If a=b then

    Begin

    Writeln(‘Неправильный ввод a,b’);

    Readln;

    End;

    di=sqr(b-m)-4*(a-d)*(c-n);

    if di<0 then

    begin

    writeln(‘Нет точек пересечения’);

    end;

    if di>0 then

    begin

    writeln(‘Имеют две точки пересечения’);

    x1:=(-(b-m)+sqrt(di))/(2*(a-d));

    y1:=a*x1*x1+b*x1+c;

    writeln(‘x1=’, x1:0:3, ‘y1=’, y1:0:3);

    x2:=(-(b-m)-sqrt(di))/(2*(a-d));

    y2:=a*x2*x2+b*x2+c;

    writeln(‘x2=’, x2:0:3,’y2=’, y2:0:3);

    end;

    if di=0 then

    begin

    writeln(‘Имеют одну точку пересечения’);

    x:=-(b-m)/(2*(a-d));

    y:=a*x*x+b*x+c;

    writeln(‘x=’, x:0:3, ‘y=’, y:0:3);

    end;

    readln;

    end.
    Результат работы программы:

    Для тестирования программы использовалось четыре варианта набора переменных.





    Задание №2.

    Эту задачу необходимо решить три раза с использованием
    трех видов цикла: FOR, WHILE и REPEAT.
    В выводах обязательно сравнить все три цикла и определить, какой именно наилучшим образом подходит для решения этой задачи и почему

    Вводится последовательность из N произвольных чисел.
    Найти среднее значение положительных элементов последовательности.

    2.1Решение:

    Введение последовательности ограничим введением числа «0». Используем оператора REPEAT.

    Алгоритм:



    Описание структуры программы:
    Для решения задачи необходимо минимум одно положительное число вещественного типа.
    Для очистки экрана используется специальная процедура
    ClrScr из модуля CRT.

    Код программы:

    Program z0021

    Uses Crt;

    Var x,sr: real; k:byte;

    Begin

    ClrScr;

    Writeln(‘Окончание ввода”0” ’);

    K:=0; sr:=0;

    Repeat

    Write(‘Число=’); readln(x);

    If x>0 then

    begin

    inc(k);

    sr:=sr+x;

    end;

    until x=0;

    if k>0 then writeln(‘среднее арифметическое введенных чисел=’,sr/k:0:3)

    else writeln(‘Нету положительных’);

    readln;

    end.

    Результаты работы программы:

    Для тестирования программы использовалось два варианта набора чисел.





    2.2Решение:

    Введение последовательности ограничим введением числа «0». Используем оператора WHILE.

    Алгоритм:



    Описание структуры программы:
    Для решения задачи необходимо минимум одно положительное число вещественного типа.
    Для очистки экрана используется специальная процедура
    ClrScr из модуля CRT.

    Код программы:

    Program z0022

    Uses Crt;

    Var x,sr: real; k:byte;

    Begin

    ClrScr;

    Writeln(‘Окончание ввода”0” ’);

    K:=0; sr:=0;

    Write(‘Число=’); readln(x);

    While x<>0 do

    begin

    while x>0 do

    begin

    inc(k);

    sr:=sr+x;

    write(‘Число=’); readln(x);

    end;

    write(‘Число=’); readln(x);

    end;

    if k>0 then writeln(‘среднее арифметическое введенных чисел=’,sr/k:0:3)

    else writeln(‘Нету положительных’);

    readln;

    end.

    Результаты работы программы:

    Для тестирования программы использовалось два варианта набора чисел.





    2.3Решение:

    Введение последовательности ограничием введением числа чисел. Используем оператора FOR.

    Алгоритм:



    Описание структуры программы:
    Для решения задачи необходимо минимум одно положительное число вещественного типа.
    Для очистки экрана используется специальная процедура
    ClrScr из модуля CRT.

    Код программы:

    Program z0023

    Uses Crt;

    Var x,sr: real; i,n:integer; k:byte;

    Begin

    ClrScr;

    Writeln(‘Число вводимых чисел= ’); readln(n);

    k:=0; sr:=0;

    For i:=0 to n-1 do

    begin

    If x>0 then

    inc(k);

    if x>0 then

    sr:=sr+x;

    Write(‘Число=’); readln(x);

    end;

    if k>0 then writeln(‘среднее арифметическое введенных чисел=’,sr/k:0:3)

    else writeln(‘Нету положительных’);

    readln;

    end.

    Результаты работы программы:

    Для тестирования программы использовалось два варианта набора чисел.





    Вывод:

    Для решения данной задачи больше подходит цикл REPEAT. Поскольку количество циклов нам заранее не известно, что является необходимым условием для использования цикла FOR. А так же на каждой итерации циклы FOR и WHILE выполняют только по одному оператору. В отличие от них, цикл REPEAT позволяет выполнить сразу несколько операторов, что в данных условиях более удобно.

    Задание №3.

    В файле хранятся действительные числа. Необходимо
    определить (без использования массивов) максимальное число,
    минимальное число и их среднее арифметическое.

    Решение:

    Для набора чисел используем генератор случайных чисел с задаваемым пределом количества этих чисел и создадим файл.

    Алгоритм:



    Код программы:

    Program z_03

    Uses Crt;

    Var f: file of real; i,k,kol: integer; x,max,min,sr:real;

    Begin

    randomize;

    writeln('Введите количество чисел');

    readln(kol);

    assign(f,'z003.txt');

    rewrite(f);

    for i:=1 to kol do

    begin

    x:=random(kol);

    write(f,x);

    end;

    close(f);

    reset(f);

    read(f,x);

    max:=x;

    min:=x;

    while not eof(f) do

    begin

    read(f,x);

    write(x:0:2,' ');

     if x>max then

     max:=x;

     if x
     min:=x;

     sr:=sr+x;

     end;

     close(f);

     writeln;

     writeln('Максимум: ',max:0:1);

     writeln('Минимум: ',min:0:1);

     writeln('Среднее арифметическое:',sr/kol:0:3);

     readln;

    end.

    Результаты работы программы:

    Для тестирования программы использовалось два варианта набора по 100 и по 150 чисел.





    ЛИТЕРАТУРА
    1. Острейковский В. А. Информатика : учебник для вузов /
    В. А. Острейковский. — М. : Высш. шк., 1999.
    2. Вирт Н. Алгоритмы и структуры данных / Н. Вирт. —
    М. : Мир, 1989.
    3. Епанешников А. М. Программирование в среде Turbo
    Pascal 7.0 / А. М. Епанешников, В. А. Епанешников. — 3-е изд.,
    стер. — М. : ДИАЛОГ-МИФИ, 1996.
    4. Культин Н .Б. Turbo Pascal в задачах и примерах / Н. Б.
    Культин. — СПб. : БХВ-Петербург, 2000.
    5. Немнюгин С. А. Turbo Pascal / С. А. Немнюгин. — СПб. :
    Питер, 2000.
    6. Шпак Ю. А. Turbo Pascal 7.0 на примерах / Ю. А. Шпак ; под
    ред. Ю. С. Ковтанюка. — Киев : Юниор, 2003.


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