Как составить программу в паскале нахождение квадратного уравнения
Не квадратное, конечно, но все же
Добрый день, товарищи! И вот я возвращаюсь с новым гайдом, который, думаю, окажется многим полезным. Сегодня мы напишем программу для нахождения корней и дискриминанта квадратного уравнения.
Согласитесь, всегда удобно иметь под рукой небольшой калькулятор, который быстро покажет тебе и дискриминант, и ответ на сложное уравнение.
В конце статьи я дам вам ссылку на Яндекс.Диск для скачивания файла с этим кодом!
1. Объявим и введем переменные
В этом отрезке кода мы объявляем наши переменные. a , b , c — будет вводить пользователь, это основные части уравнения.
d — наш дискриминант.
x1 , x2 — корни уравнения.
Тип данных выберем целый, но при желании все же можно поставить real .
Для наглядности после ввода переменных продублируем их в уравнение, чтобы пользователь видел уравнение.
2. Находим дискриминант квадратного уравнения
Тут все просто, тут все по математике. Вместо не очень красивого b * b можно использовать функцию возведения в квадрат — sqr(b) , в данном примере так сделано для наглядности.
Лекция 9: Программа для решения квадратного уравнения
3. Если дискриминант меньше нуля
Как мы помним из курса математики, если Д меньше нуля — это уравнение не будет иметь смысла. Чтож, поэтому необходимо добавить это исключение.
4. Если дискриминант равен нулю
Если Д равен нулю — у него лишь один корень, и находится он иначе, чем при Д больше нуля. Поэтому поспешим добавить и это исключение в нашу программу.
5. Находим корни х1 и х2 квадратного уравнения
Просто найдем х1 и х2. Напомню, что sqrt(d) это корень дискриминанта. После этого просто делим это на 2а. Формулы, думаю, сами знаете.
Чтож, вот и все программа, ссылка, напомню, будет в конце статьи, а сейчас давайте ее протестируем!
6. Тесты
Тесты помещу в галерею. Смотрите остальные (->)
7. Полный код + ссылка
Тут весь код программы, а ниже вы можете найти ссылку на скачивание этой программы в формате .pas, для открытия файла сразу в паскале.
Скачать код программы с Яндекс.Диска
ЗАДАНИЕ 2
ОСНОВНЫЕ ОПЕРАТОРЫ VBA. Ключевые понятия: алгоритм, блок-схема алгоритма, понятие переменной, типы данных, описание переменных, оператор присваивания, вводвывод данных в ячейки ЭТ, условный оператор, редактор Visual Basic, модуль, сохранение и выполнение программ. УСЛОВНЫЙ ОПЕРАТОР ЗАДАЧА № 1.1 Написать программу нахождения наибольшего из двух чисел.
Числа вводятся в ячейки A=Cells(1,1) и B=Cells(2,1). Результат выводится в ячейку Cells(3,1)=MAX. Разместить на листе Excel командную кнопку и присвоить ей выполнение программы. Нарисовать блок-схему алгоритма. Sub Наибольшее_из_двух_чисел() ‘ Объявление размера ( Dim ension) ячеек с данными Dim a, b, Max As Integer ‘ Чтение исходных данных из ячеек- Cells(Row,Collunm ) ЭТ a = Cells(1, 1).Value b = Cells(2, 1).Value ‘ Оператор условия проверки лог-го выражения (a > b) If a > b Then ‘ Присваивание результата если выражения (a > b)=true Max = a Else ‘ Присваивание результата иначе выражения (a > b)=false Max = b End If ‘ Вывод результата в ячейку ЭТ Cells(3, 1).Value = Max 51
5 способов решения квадратного уравнения ➜ Как решать квадратные уравнения?
If a = b Then Cells(3, 1) = «числа равны» End If End Sub 2) Написать новую программу нахождения наибольшего из трѐх чисел: A, B, C. При этом, в логическом условии оператора IF можно использовать только операцию сравнения > (больше).
Номер | A | B | C | Max | |
| 1 | 2 | 3 | C | Составить таблицу проверки и тес- |
тирования работы программы и ал- | |||||
| 1 | 3 | 2 | B | |
| 3 | 1 | 2 | A | горитма перечислив в ней все воз- |
можные значения переменных. | |||||
| 2 | 1 | 3 | C | |
итд |
Нарисовать блок-схему программы. Отметить на блок-схеме цифрами в кружках (как показано в таблице). Создать новую кнопку для выполнения. Самостоятельная работа Написать программу «Решение квадратного уравнения ах2+bх+с=0 », используя алгоритм представленный в Блок-схеме.
Начало 1 d b 2 4 ac
3 | ||||||
2 | да | |||||
d>=0 | ds | d | ||||
5 | ||||||
4 | нет | |||||
b ds | ||||||
x 1 | ||||||
Сообщение: | 2 a | |||||
«Решения нет» | ||||||
6 | ||||||
Конец | x 2 | b ds | ||||
2 a |
Исходные данные. Значения пере- менных а>0, b>0, с>0 разместить на листе ЭТ с соответствующими подписями и прочитать в начале программы. Вычислить (блок 1) значение дискриминанта d. Это значение проверить (блок 2): если оно меньше нуля, то выводится сообщение «Решения нет» (блок 4), если же d больше или равен нулю, то вычисляются квадратный корень из дискриминанта (блок 3), а затем — значения двух корней (блоки 5 и 6)
Результат записать в подготовленные ячейки. Нарисовать Блок-схему. Написать алгоритм на псевдокоде. Разместить кнопку для старта и выполнения программы. Добавить объект Полоса прокрутки для быстрого изменения значений коэффициентов а, в, с. 52
ОПЕРАТОР ЦИКЛА Ключевые понятия: циклический алгоритм, оператор цикла с параметром, вложенные циклы, объект Cells, его свойства и методы, датчик случайных чисел, вычисление суммы элементов массива ячеек, вывод в диалоговое окно. ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ ЗАДАЧА № 1.2 Написать программы для нумерации первой строки, первого столбца и главной диагонали таблицы заданного размера.
1. Для проверки свойства «Массовость алгоритмов» предусмотреть переменное конечное значение размерности таблицы, которое используется в циклическом операторе. Для этого воспользо- ваться стандартной функцией InputBox, которая выводит на экран диалоговое окно, где можно указать значение параметра в заданных пределах.
N= Val ( InputBox (―Введи 0<=N<=255‖)) Функция InputBox возвращает введенный строковый ( as String ) тип значения. Для перевода его в числовой тип данных необходимо применить стандартная функция Val (сокращение от слова Val ue). 2. Нарисовать Блок-схему по аналогии с рисунком (Вид-Панель ин- струментов-Рисование Автофигуры-Блок-схема). 3. Написать алгоритм для Sub Diagonal() на псевдокоде. Самый простой вид псевдокода представляет собой текст программы, где все операторы написаны на киррилице в сокращенном виде. 53
Например, вместо Sub Row_Number() пишется Алгоритм Нумерация строки, вместо For i=1 to N пишется НЦ (начало цикла) по I от 1 до N 4. Разместить кнопки в первой строке и назначить им соответствующие макросы для старта и выполнения всех программ. 5. Составить таблицу проверки (прогонки программы без выполнения) для алгоритма Диагональ в точке (1). для N=4.
Номер | N | i | i+1 | Cells(i+1, i+1) | |||||
| 4 | 1 | 2 | 1 | Составить таблицу проверки | ||||
и тестирования работы про- | |||||||||
граммы и алгоритма пере- | |||||||||
числив в ней все возможные | |||||||||
значения переменных. | |||||||||
Sub Row_Number() | Sub Diagonal() | ||||||||
Dim j As Byte | Dim i As Byte | ||||||||
Dim N As Byte | Dim N As Byte | ||||||||
N=Val(InputBox(―Введи 0 <=N<=255‖)) | N=Val(InputBox(―Введи 0 <=N<=255‖)) | ||||||||
For j= 1 To N | For i = 1 To N | ||||||||
Cells(2, j+1).Value = j | | Cells(i+1, i+1).Value = i | |||||||
Next j | |||||||||
Next i | |||||||||
End Sub | |||||||||
End Sub | |||||||||
Sub Column_Number() | Sub Invers_Number() | ||||||||
Dim i As Integer | |||||||||
Dim i As Byte | |||||||||
Dim N As integer | |||||||||
Dim N As Byte | |||||||||
N=Val(InputBox(―Введи 0 <=N<=65535‖)) | |||||||||
N=Val(InputBox(―Введи 0 <=N<=255‖)) | |||||||||
For i = 1 To N | For i = 1 To N | ||||||||
Cells(i+1, 2).Value = i | |||||||||
Cells(i+1, i+1).Value = N-i+1 | |||||||||
Next i | |||||||||
Next i | |||||||||
End Sub | |||||||||
End Sub |
Самостоятельно 6. Написать программу, заполняющую обратную диагональ, и составить таблицу проверки (прогонки программы без выполнения) для алгоритма Обратная диагональ в точке (1). для N=4. 54
Источник: studfile.net