Линейные алгоритмы. Ввод, вывод информации

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

Линейные алгоритмы. Ввод, вывод информации

 

Требования к выполнению лабораторной работы

Содержание работы:

1. Условие задачи

2. Блок-схему алгоритма

3. Фрагменты экрана с ЭТ и окнами диалога

4. В программе значение одной из переменных должно быть записано в ячейке электронной таблицы.

5. Значение другой переменной задается в программе или вводится с помощью окна-диалога.

6. Все типы переменных и констант, которые используются в программе, должны быть объявлены и отражать смысловое значение переменных или констант.

7. Результат работы программы должен иметь наглядный вид.

8. Для запуска макроса создать кнопку с соответствующей надписью.

 

Пример №1 Написать программу, которая вычисляет периметр треугольника.

 

Блок- схема

 

 

 
 
  ВтораяСторона =3,5

 


Определение второй стороны треугольника

 

 

 
 

 


 

 

Программа

 

Option Explicit

Sub ПериметрТреугольника()

Dim ВтораяСторона, ТретьяСторона, Периметр As Single

ВтораяСторона = 3.5

ТретьяСторона = InputBox("Введите значение третьей стороны треугольника", "Третья сторона")

Периметр = Cells(1, 4) + ВтораяСторона + ТретьяСторона

MsgBox "Периметр треугольника = " & Периметр

End Sub

 

 

Пример №2 Вычислите значение квадратного корня из суммы трех переменных.

Блок-схема

 
 


  Вычисление суммы трех переменных и взятие квадратного корня

 

 

 

 

 

 

 

Программа

 

Option Explicit

Sub КореньКвадратныйИзСуммыТрехПеременных()

Dim ПерваяПеременная, ВтораяПеременная, ТретьяПеременная, Сумма As Single

Dim Корень As Double

ПерваяПеременная = InputBox("Введите значение первой переменной", "Первая Переменная")

ВтораяПеременная = InputBox("Введите значение второй переменной", "Вторая Переменная")

ТретьяПеременная = InputBox("Введите значение третьей переменной", "Третья Переменная")

Сумма = ТретьяПеременная + ВтораяПеременная + ПерваяПеременная

Корень = Sqr(Сумма)

MsgBox "Корень из суммы трех переменных = " & Корень

End Sub

 

Варианты индивидуальных задач

 

1. Вычислите значение квадратного корня из суммы трех переменных.

2. Найдите объем пирамиды, основанием которой является ромб.

Примечание

3. Вычислите значение суммы обратных величин трех переменных.

4. Найдите сумму первой и второй переменных и разность первой и третьей переменной.

5. Найти объем цилиндра.

6. Вычислить площадь прямоугольника.

7. Вычислите значение куба, квадрата и обратной величины переменных.

8. Найдите площадь круга по формуле S = pR2 .

9. Найти расстояние от точки М до начала координат.

10. Найти сторону квадрата, площадь которого равна площади прямоугольника.

11. Найти площадь ромба.

12. Определите произведение трех переменных.

13. Найти гипотенузу треугольника.

14. Найти скорость движения автомобиля , если известны пройденный путь и время .

15. Найти остаток от деления двух действительных чисел.

16. Найти диагональ квадрата.

17. Найти сумму квадратов трех чисел.

18. Вычислить частное двух чисел.

19. Найти среднее арифметическое трех введенных чисел.

20. Найти путь, пройденный пешеходом, если известны скорость и время.

21. Найти произведение трех действительных чисел.

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

23. Вычислить удвоенное произведение разности двух действительных чисел.

24. Найти разность квадратов двух переменных.

25. Вычислите значение функции Z = 7X + 4Y

26. Вычислите координаты середины отрезка.

27. Вычислите площадь равнобедренной трапеции.

28. Определите расстояние на плоскости между двумя точками.

29. Определите время свободного падения физического тела с высоты.

30. Вычислите высоту равнобедренного треугольника.

 

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

УСЛОВНЫЕ КОНСТРУКЦИИ

Требования к выполнению лабораторной работы

Содержание работы:

1. Условие задачи

2. Блок-схему и программу алгоритма

3. Фрагменты экрана с ЭТ и окнами диалога

4. В программе предусмотреть сбойные ситуации (деление на ноль, извлечение квадратного корня из отрицательного числа и т.д.).

5. Результат работы программы должен иметь наглядный вид.

 

Пример №1 Написать программу вычисления функции пользователя. Предусмотреть сбойную ситуацию (при y = 0) и в этом случае выдать сообщение об ошибке.

 
 


x + y , если x > 0 и y > 1

z =

x / y, , если x < = 1 и y < > 0

 

Блок – схема алгоритма   Программа
Function z (x, y) If y = 0 Then z = "Ошибка! На ноль делить нельзя!" ElseIf x > 0 And y > 1 Then z = x + y ElseIf x < = 1 And y <> 0 Then z = x / y End If End Function  

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

  Пример №2Написать программу вычисляющую значение Z  

Варианты задач

 

1. Есть ли в массиве число 10? Если есть, на каком месте оно стоит (известно, что число может встретиться несколько раз).

2. Определить порядковые номера нулей в массиве.

3. Все отрицательные элементы массива заменить нулями. Выдать сообщение о количестве таких замен.

4. Найти порядковый номер минимального числа в массиве.

5. Найти значение и координаты первого по порядку положительного элемента в массиве.

6. Найти количество единиц в массиве.

7. Каких чисел в массиве больше: положительных или отрицательных ? (массив может содержать нулевые значения).

8. Исходные данные: В таблице 10 строк. Первый столбец – фамилия работника, второй- стаж работника.

9. По стажу работника определить, к какой группе он относится, если 1 группа – стаж до 3-х лет, 2 группа – до 5 лет, 3 группа – до 10 лет, 4 группа – свыше 10 лет.

10. Найти сумму диагональных элементов блока ячеек, состоящего из 5 строк и 5 столбцов.

11. Двадцати переменным массива присвоить одно и то же значение, равное наибольшему из них.

12. Дан массив чисел. В клетке С1 записано некоторое число. Определить порядковый номер этого числа в массиве. Если в массиве такого числа нет, выдать об этом сообщение.

13. Просуммировать положительные и отрицательные числа в массиве. Записать полученные суммы в ячейки В1 и В2. (в массиве могут быть нулевые значения).

14. В клетку А1 записать число, если количество положительных элементов массива больше количества отрицательных. В противном случае записать в клетку А1 любой текст.

 

15. Найти сумму положительных элементов массива, имеющих индекс 3, 5, 7 и т.д.

16. Найти сумму отрицательных элементов массива, имеющих индекс 2, 4, 6 и т.д.

17. Найти произведение отрицательных элементов массива, имеющих индекс 3, 6, 9 и т.д.

18. Четные элементы массива заменить на обратные им числа. (для определения четности числа использовать функцию MOD).

19. В блоке ячеек записана матрица чисел. Ячейки с отрицательными значениями закрасить синим цветом, с положительными – красным, с нулями – желтым.

20. В ячейку В1 записать произведение чисел ячеек столбца А, начиная с ячейки А1. Произведение вычислять до тех пор, пока оно не станет больше 500.

21. В ячейку А1 Листа 2 записать сумму чисел ячеек столбца А Листа 1, начиная с ячейки А20. Столбец просматривать до первого отрицательного числа.

22. Скопировать ячейки с Листа 1, начиная с В3 до первой пустой ячейки, на Лист 3 в ячейки, начиная с А13.

23. Копировать ячейки столбца D, начиная с ячейки D5, с Листа 2 на Лист 1 до тех пор, пока сумма копируемых значений не станет больше 100.

24. В блоке ячеек заменить нулями отрицательные значения, подсчитать количество замен и установить размер шрифта в этих ячейках равным 14.

25. В матрице чисел поменять местами строки со столбцами (транспонировать данную матрицу).

26. В матрице чисел, записанной в ячейках обнулить 3-ий столбец и 2-ую строку.

27. Даны 2 массива чисел. Построить массив, элементы которого являются покомпонентной суммой двух заданных массивов.

28. В массиве чисел подсчитать число элементов, предшествующих первому по порядку отрицательному элементу.

29. Имеется массив чисел. Сформировать 2 массива: в один перенести четные элементы исходного массива (2,4,6,…), в другой – нечетные (1,3,5,…).

30. Записать в обратном порядке элементы массива чисел.

31. Отсортировать элементы массива по возрастанию. Отсортировать элементы массива по убыванию

 

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

Работа с массивами

Содержание работы:

1. Условие задачи

2. ЭТ с исходными данными и ЭТ с данными, создающими сбойные ситуации

3. Блок-схему и программу алгоритма

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

Пример №1 Разработайте функцию пользователя

 

 

ЭТ с исходными данными:     ЭТ с исходными данными, создающими сбойную ситуацию – деление на ноль.:

 

 

Блок-схема Программа
Public Function Функция(x2) s = o For i = 1 To 5 s = s + x2(i) Next i If s = 0 Then Функция = "Произошла сбойная ситуация - деление на ноль" Else Функция = 1 / s End If End Function

 

Результат работы: Результат работы программы в сбойной ситуации:

Пример №2 Работа с массивами. Вычислить значение выражения

Программа

Sub Массивы()

Dim x1, i, S, y1, Z As Double

Dim A As Integer

x1 = Range("C1").Value

 

If x1 < 0 Then

MsgBox "Ошибка! Подкоренное выражение меньше нуля!"

Else

y1 = Sqr(x1)

S = 0

i = 1

For i = 1 To 12

A = Cells((i), 1).Value

S = S + A

Next

If S = 0 Then

MsgBox "Ошибка! Деление на ноль!"

End If

Z = y1 / S

 

End If

 

Cells(17, 4).Value = Z

 

End Sub

Варианты индивидуальных заданий

Создайте функцию пользователя. Предусмотрите сбойные ситуации и выдайте информацию об этих ситуациях.

 

Вариант 1.

Вариант 2.

Вариант 3.

Вариант 4.

Вариант 5.

Вариант 6.

Вариант 7.

Вариант 8.

Вариант 9.

Вариант 10.

Вариант 11.

Вариант 12.

Вариант 13.

Вариант 14.

Вариант 15.

Вариант 16.

Вариант 17.

Вариант 18.

Вариант 19.

Вариант 20.

Вариант 21.

Вариант 22.

Вариант 23.

Вариант 24.

Вариант 25.

Вариант 26.

Вариант 27.

Вариант 28.

Вариант 29.

Вариант 30.

 

 

Option Explicit

Sub Gipotenuza()

Dim a, b, c As Single

a = 5

b = InputBox("vvedite zna?henie 2 kateta", "2 katet")

c = Sqr(a ^ 2 + b ^ 2)

MsgBox "gipotenuza ravna" & c

End Sub