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

  • Задача 3 .

  • Задача 4 .

  • Задача 5 .

  • Лабораторная работа № 12. Программирование задач с одномерными массивами. ЛР12 Щербина. Лабораторная работа 12 Щербина К. А. группа 090207испао19 Лабораторная работа 12


    Скачать 281.4 Kb.
    НазваниеЛабораторная работа 12 Щербина К. А. группа 090207испао19 Лабораторная работа 12
    АнкорЛабораторная работа № 12. Программирование задач с одномерными массивами
    Дата09.11.2022
    Размер281.4 Kb.
    Формат файлаdocx
    Имя файлаЛР12 Щербина.docx
    ТипЛабораторная работа
    #779618

    Лабораторная работа №12

    Щербина К.А.

    группа: 090207-ИСПа-о19


    Лабораторная работа № 12.

    Программирование задач с одномерными массивами

    1. Цель работы

    Научиться составлять блок-схемы алгоритмов решения задач с одномерными массивами и реализующие их программы на языке программирования.

    2. Постановка задачи

    1. Изучить следующие вопросы применительно к языку программирования Pascal в системе программирования PascalABC.NET:

    • основные понятия, виды массивов и терминологию, используемую для их описания;

    • синтаксис описания одномерного массива;

    • синтаксис доступа к элементу одномерного массива;

    • типовые программные фрагменты вычисления отдельных числовых характеристик одномерных массивов;

    • программные фрагменты, соответствующие типовым операциям с одномерными массивами;

    • особенности программирования задач с одномерными массивами;

    • особенности составления блок-схем для решения задач с одномерными массивами.

    2. Выполнить следующие задания:

    Задача 1. Составить программу на языке Pascal и блок-схему алгоритма (блок-схема должна соответствовать программе) для решения следующей задачи.

    На предприятии выпускается n товаров с разной стоимостью ai(1≤ i n). Вычислить суммарную и среднюю стоимость всех товаров, а также количество товаров, стоимость которых меняется в диапазоне от p + q + 10 до (p + 1)(q + 1) + 30.

    Количество всех элементов n и массив A рассматривать как исходные данные к задаче. Их значения вычислить вручную до запуска программы на выполнение, полагая:

    n =10;

    A = {1+p;22+р;3+р;4+р;25+р;36+р;1+р;8+р;2+р;100-q}.

    На основе значений p=3 и q=1, массив A примет следующий вид: A = {4;25;6;7;28;39;4;11;5;99}.



    Рисунок 1 – блок-схема первой программы
    Листинг 1 – код программы для задачи 1

    program Lab12_1;

    var

    A: array[1..100] of real;

    s, sr: real;

    i, n, k: integer;

    begin

    s := 0;

    k := 0;

    n := 10;

    writeln('Введи массив A');

    for i := 1 to n do

    begin

    read(A[i]);

    s := s + A[i];

    if (A[i] >= 10)

    and (A[i] <= 31) then

    k := k + 1;

    end;

    sr := s / n;

    writeln('s= ', s:10:2);

    writeln('sr=', sr:10:2);

    writeln('k= ', k:10);

    end.


    Рисунок 2 – результат выполнения программы для задачи 1
    Задача 2. Составить программу на языке Pascal и блок-схему алгоритма (блок-схема должна соответствовать программе) для решения задачи согласно своему варианту. Все элементы массива в задаче считать действительными числами. Числа p и q подставить в расчетные формулы до составления программы и блок-схемы. Массив А определен в задаче 1.

    В одномерном массиве A из n элементов найти сумму всех элементов s1, сумму s2 элементов, меньших p + q, и количество элементов k, больших .

    На основе значений p=3 и q=1, сумма s2 будет состоять из элементов, меньших 4, а k из элементов, больших .



    Рисунок 3 – блок-схема второй программы
    Листинг 2 – код программы для задачи 2

    program Lab12_2;

    var

    A: array[1..100] of real;

    s1, s2: real;

    i, n, k: integer;

    begin

    n := 10;

    s1 := 0;

    s2 := 0;

    k := 0;

    writeln('Введи массив A');

    for i := 1 to n do

    begin

    read(A[i]);

    s1 := s1 + A[i];

    end;

    for i := 1 to n do

    begin

    if A[i] < 4 then

    s2 := s2 + A[i];

    if A[i] > (s1/2)+3-1 then

    k := k + 1;

    end;

    writeln('s1=', s1:10:3);

    writeln('s2=', s2:10:3);

    writeln('k=', k:10);

    end.


    Рисунок 4 – результат выполнения программы для задачи 2
    Задача 3. Составить программу на языке Pascal и блок-схему алгоритма (блок-схема должна соответствовать программе) для решения задачи. Все элементы массива в задаче считать действительными числами. Числа p и q подставить в расчетные формулы до составления программы и блок-схемы. Массив А определен в задаче 1.

    В одномерном массиве A из n элементов найти произведение всех элементов p и среднее значение sr среди элементов, меньших p + q + 1.

    На основе значений p=3 и q=1, среднее значение sr будет находиться из элементов, меньших 5.



    Рисунок 5 – блок-схема третьей программы
    Листинг 3 – код программы для задачи 3

    program Lab12_3;

    var

    A: array[1..100] of real;

    s, sr, p: real;

    i, n, k: integer;

    begin

    n := 10;

    p := 1;

    s := 0;

    k := 0;

    writeln('Введи массив A');

    for i := 1 to n do

    begin

    read(A[i]);

    p := p * A[i];

    end;

    for i := 1 to n do

    begin

    if A[i] < 5 then

    begin

    s := s + A[i];

    k := k + 1;

    end;

    end;

    sr := s / k;

    writeln('p=', p:10);

    writeln('sr=', sr:10:3);

    end.


    Рисунок 6 – результат выполнения программы для задачи 3
    Задача 4. Составить программу на языке Pascal и блок-схему алгоритма (блок-схема должна соответствовать программе) для решения задачи. Все элементы массива в задаче считать действительными числами. Числа p и q подставить в расчетные формулы до составления программы и блок-схемы. Массив А определен в задаче 1.

    В одномерном массиве A из n элементов найти максимальное значение среди всех элементов max и минимальное значение min среди элементов, меньших p + q + 2.

    На основе значений p=3 и q=1, минимальное значение minбудет находиться из элементов, меньших 6.



    Рисунок 7 – блок-схема четвертой программы
    Листинг 4 – код программы для задачи 4

    program Lab12_4;

    var

    A: array[1..100] of real;

    max, min: real;

    i, n: integer;

    begin

    n := 10;

    writeln('Введи массив A');

    for i := 1 to n do

    begin

    read(A[i]);

    end;

    max := A[1];

    for i := 2 to n do

    begin

    if A[i] > max then

    max := A[i];

    end;

    min := 1E10;

    for i := 1 to n do

    begin

    if (A[i] < min) and (A[i] < 6) then

    min := A[i];

    end;

    writeln('max=', max:10);

    writeln('min=', min:10);

    end.


    Рисунок 8 – результат выполнения программы для задачи 4

    Задача 5. Составить программу на языке Pascal и блок-схему алгоритма (блок-схема должна соответствовать программе) для решения задачи. Все элементы массива в задаче считать действительными числами. Числа p и q подставить в расчетные формулы до составления программы и блок-схемы. Массив А определен в задаче 1.

    Все элементы массива в задаче считать действительными числами. Числа p и q подставить в формулы до составления программы и блок-схемы. Значения всех элементов полученных в результате решения массивов вывести на экран.

    В одномерном массиве A из n элементов найти сумму всех элементов и заменить положительные элементы на 10.



    Рисунок 9 – блок-схема пятой программы
    Листинг 5 – код программы для задачи 5

    program Lab12_5;

    var

    A: array[1..100] of real;

    s: real;

    i, n, k: integer;

    begin

    n := 10;

    s := 0;

    writeln('Введи массив A');

    for i := 1 to n do

    begin

    read(A[i]);

    s := s + A[i];

    end;

    for i := 1 to n do

    begin

    if A[i] > 0 then

    A[i] := 10;

    end;

    writeln('s=', s:10);

    write('Вывод элементов массива: ');

    for i:=1 to N do

    write(a[i],' ');

    end.


    Рисунок 10 – результат выполнения программы для задачи 5


    Работу выполнил:

    студент группы 090207-ИСПа-о19



    Щербина К.А.

    Работу принял:

    преподаватель НПК



    Полозкова А.В.



    Дата:





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