Построение динамического рисунка



Пример: Построить атом водорода.

Uses crt,graph;

Var

driver,regim:integer; x,y:integer;

i:real;

BEGIN

driver:=detect; initgraph(driver,regim,'c:\pascal\bgi');

SetBkColor(8);SetColor(3);SetFillStyle(1,11);

FillEllipse(320,240,50,50); {ядро}

i:=0;                       {угол поворота}

circle(320,240,100);         {орбита}

repeat

SetColor(11);SetFillStyle(1,11); {устанавливаем цвета для рисования}

  i:=i+0.05;               {рассчитывается угол поворота,

                                по которому будут рассчитаны х и у}

x:=trunc(100*sin(i))+320;  {рассчитывается значение х, где 100 это

                                масштаб по х, а 320 - смещение по х}

y:=trunc(100*cos(i))+240;  {рассчитывается значение у, где 100 это

                                масштаб по у, а 240 - смещение по у}

  FillEllipse(x,y,15,15);  {рисуется закрашенный круг}

  Delay(15000);            {задержка выполнения}

SetColor(8);SetFillStyle(1,8); {переходим на цвета фона}

  FillEllipse(x,y,15,15);  {закрашиваем цветом фона круг}

SetColor(14);circle(320,240,100);{устанавливаем цвет и рисуем орбиту}

until KeyPressed;           {выполнять до нажатия любой клавиши}

END.

Задания:

  1. Построить модель атома азота.
  2. Построить модель атома гелия.
  3. Построить модель атома лития.
  4. Построить модель Земля – Луна.
  5. Построить модель Солнце – Земля – Луна.
  6. Построить модель Солнце – Земля – комета.
  7. Построить модель Солнце, Юпитер, Сатурн.
  8. Построить модель Сатурна и его 4-х спутников.
  9. Построить модель атома кислорода.
  10. Построить модель Солнце – Марс – Фобос, Деймос (спутники Марса).
  11. Построить модель атома бора.
  12. Построить модель Солнечной системы.
  13. Построить модель Солнечной системы, где у планет вращаются спутники.

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

Построение графиков

Пример: Построить график y=cos(x).

Uses crt,graph;

Var

driver,regim:integer;

i,y:integer;

x:real;

BEGIN

driver:=detect;

initgraph(driver,regim,'c:\pascal\bgi');

SetBkColor(8);SetColor(11);SetFillStyle(1,11);

x:=0;i:=0;

repeat

y:=trunc(100*cos(x))+240; {расчитывается новое значение у, где 100 – это

масштабирование, а 240 – это смещение по у}

  x:=x+0.05;          {расчитывается новое значение угла}

  i:=i+1;             {расчитывается новое значение х}

    FillEllipse(i,y,1,1); {строится точка с координатами х,у}

  Delay(2500);        {задержка перед новой точкой}

until i>640;           {выполнять до значения х=640}

repeat until KeyPressed; {задержка выполнения программы}

END.

Функцию, по которой строить график взять из лабораторной работы № 4, задание 1


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

Одномерные массивы.

Задание 1.Даны два одномерных массива целых чисел (массив А, состоящий из n элементов, массив В - из m элементов), заполненных случайным образом числами из промежутка [L,P]. Сформировать из элементов этих массивов два новых массива (C,D) по правилу, описанному в Вашем варианте.

1. п= 15, т= 20, L= 10, Р=99; Массив С состоит из тех элементов исходных массивов, в которых обе цифры четные, а массив D - обе цифры нечетные.

2. п= 10, т= 25, L= 100, Р=500; Массив С состоит из тех элементов исходных массивов, в которых средняя цифра четная, а массив D - средняя цифра нечетная.

3. п= 20, т= 15, L= -50, Р=50; Массив С состоит из элементов исходных массивов, меньших -5, а массив D - больших 10.

4. п= 25, т= 12, L= 10, Р=2000; Массив С состоит из тех элементов исходных массивов, в которых последняя цифра равна 6, а массив D - последняя цифра равна 9.

5. п= 17, т= 18, L=-30, Р=60; Массив С состоит из положительных элементов исходных массивов, а массив D - отрицательных.

6. п= 12, т= 28, L= -60, Р=90; Массив С состоит из четных элементов исходных массивов, а массив D - нечетных.

7. п= 20, т= 30, L= 10, Р=50; Массив С состоит из элементов исходных массивов, меньших 30, а массив D - больших 30.

8. п=30, т= 10, L= 10, Р=150; Массив С состоит из элементов исходных массивов, кратных 5, а массив D кратных 3.

9. п=22, т= 16, L= -50, Р=30; Массив С состоит из элементов исходных массивов, меньших первого элемента массива А, а массив D - больших второго элемента массива В.

10. п= 10, т= 20 L= 1000, Р=5000; Массив С состоит из элементов исходных массивов, первая цифра которых меньше последней, а массив D - первая цифра больше последней.

11. п= 15, т= 30, L= -100, Р=100; Массив С состоит из отрицательных элементов исходных массивов с четными индексами, а массив D - положительных элементов с нечетными индексами.

12. п= 30, т= 10, L= -200, Р=150; Массив С состоит из четных отрицательных элементов исходных массивов, а массив D - нечетных положительных элементов.

13. п=20, т= 10, L= 15, Р=150; Массив С состоит из элементов исходных массивов, кратных 7, а массив D кратных 11.

Задание 2.

1. Задан массив чисел. Замените каждое число суммой предыдущих, включая заменяемое.

2. Даны действительные числа al,a2,...,al6. Найдите минимальное из произведений ala9, а2а!0, ..., а8а16.

3. Даны действительные al,a2,...,al6. Найдите максимальное из сумм al+a!6,a2+al5,...,a8+a9.

4. Даны целые al,a2,..,an. Bce члены последовательности, предшествующие первому по порядку наименьшему члену, умножить на этот наименьший член.

5. Даны действительные al,a2,..,an . Требуется найти b, равное среднему арифметическому чисел al,a2,..,an и наибольшее отклонение от среднего т.е. max(\al-b\,\a2-b\,...,\an-b\).

6. Ввести массив а[1],а[2],...,а[п] целого типа. Произвести сдвиг элементов массива на 2 позиции влево так, что наместо а[1] станет а[3], наместо а[2] станет а[4],на место а[п-1] станет а[1], на место а[п] станет а[2].

7. Ввести массив а[1],а[2],..,а[п] целого типа и число к<п. Произвести сдвиг элементов массива на к позиций вправо так, что на место а[п] станет а[п-к], на место а[1] станет а[п-к+1], на место а[2] станет а[п-к+2] и т.д..

8. Найти три максимальных значения тах!>=тах2>=тахЗ среди элементов таблицы из п вещественных чисел.

9. Дан массив из п целых элементов. Исключить последний минимальный элемент, то есть сдвинуть все значения таблицы, начиная с последнего минимального, влево на 1 позицию. Значение последнего элемента таблицы не определено.

10. Ввести массив а[1],а[2],...,а[п] целого типа и заменить все его элементы, стоящие до максимального, нулями.

11. Ввести массив а[1],а[2],...,а[п] целого типа и заменить все его элементы, стоящие после минимального, нулями

12. Задан массив чисел. Замените каждое число суммой двух предыдущих.

13. Найти три минимальных  значения тin!<=тin2<= тinЗ среди элементов таблицы из п вещественных чисел.


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

Двумерные массивы.

Задание 1.Дан двумерный массив целых чисел, состоящий из п строк и m столбцов, заполненный случайным образом числами из промежутка [-100,100]. Сформировать из элементов этого массива одномерный массив, каждый элемент которого равен (по вариантам):

1. Максимальному значению элементов соответствующей строки

2. Минимальному значению элементов соответствующей строки

3. Максимальному значению элементов соответствующего столбца

4. Минимальному значению элементов соответствующего столбца

5. Сумме положительных элементов соответствующей строки

6. Сумме отрицательных элементов соответствующей строки

7. Сумме положительных элементов соответствующего столбца

8. Сумме отрицательных элементов соответствующего столбца

9. Сумме четных элементов соответствующей строки

10. Сумме нечетных элементов соответствующей строки

11. Сумме четных элементов соответствующего столбца

12. Сумме нечетных элементов соответствующего столбца

13.Диагональгому элементу

 Задание 2.Задан двумерный массив целых чисел размером n*m

1. Найти номера столбцов, все элементы которых нули.

2. Найти номера столбцов, элементы в каждом из которых одинаковы.

3. Вычислить количество нулей в четных строках.

4. Найти количество строк, содержащих все равные компоненты.

5. Найти количество строк, содержащих хотя бы одну нулевую компоненту.

6. Подсчитать количество строк, в которых отличны от нуля только три элемента.

7. Найти номер строки, содержащей наибольшее количество нулей.

8. Поменять местами в каждой строке первый элемент с первым максимальным

9. Поменять местами в каждом столбце первый элемент с первым максимальным

10. Найти номер столбца, содержащего наибольшее количество нулей.

11. Найти количество столбцов, содержащих хотя бы один отрицательный элемент.

12. Найти количество строк, все элементы которых отрицательны

13. Вычислить количество единиц в нечетных строках.

Задание 3.

1. В двумерном массиве произвести сдвиг элементов таким образом, что первая строка становится второй, вторая строка становится третьей и т.д., а последняя строка - первой.

2. В двумерном массиве произвести сдвиг элементов таким образом, что второй столбец становится первым, третий столбец - вторым и т.д., а первый статновится последним.

3. В таблице Х(т, т) подвинуть диагональные элементы так, чтобы первый диагональный элемент стал вторым, второй - третьим, т-й -первым).

4. Дана таблица а[1.7,1:7]. Заменить наименьший элемент каждой строки, начиная со второй, наибольшим элементом предыдущей строки.

5. Заданы две матрицы а и b размером пхп. Сформировать из них прямоугольную матрицу р размером пх2п, включая в первые п столбцов матрицу а, в следующие - матрицу Ъ.

6. Задан массив X размером п. Сформировать из него матрицу А, содержащую по I элементов в строке. Недостающие элементы в последней строке заполнить нулями. Напечатать матрицу по строкам.

7. Задана квадратная матрица. Переставить строку с максимальным элементом на главной диагонали со строкой с заданным номером.

8. Задана квадратная матрица. Исключить из нее строку и столбец, на пересечении которых расположен максимальный элемент главной диагонали.

9. Заданы матрица размером (NxN) и число к (1<=k<=N).Столбец с максимальным по модулю элементом в k-й строке переставить с k-м столбцом.

10. Заданы матрица размером (NxN) и число к (l<—k<=N). Строку с максимальным по модулю элементом в к-й строке переставить с к-й строкой.

11. Даны матрица размерностью не более чем 15x14 и произвольное число. Построить массив, каждый элемент которого представляет собой разность между этим числом и средним арифметическим для соответствующей строки матрицы. Определить, сколько элементов предшествует первому минимальному в полученном массиве.

12. Дан двумерный целочисленный массив размерностью пхп. Сформировать результирующий одномерный массив, элементами которого являются суммы элементов по строкам для тех строк, которые начинаются с к положительных чисел подряд.

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


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


Дата добавления: 2018-04-05; просмотров: 803; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!