Вопрос 3. Что можно использовать вместо программы Turbo Pascal 7.0 для изучения программирования? Так как эта программа работает под DOS, то очень не удобно одновременно читать Ваши уроки в Windows и делать упражнения в DOS.
Первое, что приходит в голову, это Borland Pascal for Windows (BPW). Он входит в стандартную поставку BP 7.0 (напомню, что в эту же стандартную поставку еще входят TP 7.0. и BP 7.0). При помощи BPW вы можете делать тоже, что и в ДОСе, во время выполнения программы вместо окна ДОСа открывается обычное окно Виндовс, а все остальное то же самое. Это если вы хотите иметь в windows Паскале то же, что и в ДОСе.
Если же вы хотите создать для своей программы красивый и удобный Виндовс интерфейс, то добро пожаловать в Дельфи и объектно-ориентированное программирование, однако, это несколько другая и более сложная песня.
Существуют и другие Паскали, правда я никогда с ними не имел дела, но слышал и читал много хорошего. Virtual Pascal 2.0. знающие люди очень хвалят (работает по Виндовс), поищите в сети. Free Pascal (http://www.ru.freepascal.org) (говорят, не хуже).
Pascal.Программа квадратное уравнение.
Вопрос 4. У меня вот такой вопрос- как в программе описать массив X, если заранее неизвестна его размерность (т.Е. Кол- во элементов, как я понимаю) ?
Вопрос 5. Как можно запустить программу?
Если имеется в виду запустить внешнюю программу из своей, то с помощью процедуры Exec из модуля DOS:
uses Dos; |
. |
. |
begin |
. |
. |
SwapVectors; |
Exec(Путь |
SwapVectors; |
. |
. |
end. |
Вопрос 6. а). Я пользуюсь программой Borland Pascal 7.0. При подключении дополнительных модулей (crt, graph) после запуска программы Pascal выдает сообщение: «Error 200: Division by zero» — деление на ноль. После запуска утилиты CPU Grabber, замедляющей работу процессора примерно на 60 %, программа выполняется нормально. Как можно исправить положение?
Заранее спасибо. б). При попытке в паскале использовать функцию очистки экрана, возникает сообщение «Error 200:Division by zero», а в пользовательском окне (ALT-F5) сообщение runtime error 200 at 0014:0091, что такое? Эти два вопроса — одно и тоже. В связи с кривизной модуля CRT на быстрых машинах типа iPentium II/III, iCeleron программы откомпиленные на BP7/TP7 при запуске вылетают с run-time error 200 — деление на ноль.
Причём ошибка эта появляется при подключение модуля даже если вы и не вызывали процедуру Delay, которая там криво написана. Суть проблемы состоит в том, что в этом модуле время измерялась через производительность процессора — в то давнее древнее время, как сами понимаете, не было столь быстрых процессоров и не было этой ошибки. Для того, чтобы ваши программы не вылетали вам нужно установить пропатченный вариант CRT, который Вы сможете скачать с сайта Библиотека программиста — http://prog.agava.ru
Программа для решения корней квадратного уравнения с использованием дискриминанта на языке Паскаль
Источник: studfile.net
Решение квадратного уравнения по информатике в паскале
Найти корни квадратного уравнения и вывести их на экран, если они есть. Если корней нет, то вывести сообщение об этом. Конкретное квадратное уравнение определяется коэффициентами a , b , c , которые вводит пользователь.
Квадратное уравнение имеет вид ax 2 + bx + c = 0 . Коэффициенты a , b и c — это конкретные числа, а x надо найти, решив уравнение.
- Вычислить дискриминант по формуле d = b 2 — 4ac .
- Если дискриминант больше нуля, то вычислить два корня уравнения:
x1 = (-b+√d) / 2a
x2 = (-b-√d) / 2a - Если дискриминант равен нулю, то вычислить только один корень (второй будет равен ему).
- Если дискриминант отрицателен, то вывести сообщение, что корней нет.
Pascal
квадратное уравнение паскаль
Язык Си
Ключ -lm при компиляции gcc.
Python
КуМир
Basic-256
квадратное уравнение паскаль
var
a,b,c,d,x1,x2: real;
begin
write(‘a=’); readln(a);
write(‘b=’); readln(b);
write(‘c=’); readln(c);
d := b*b — 4*a*c;
if d > 0 then begin
x1 := (-b + sqrt(d)) / (2*a);
x2 := (-b — sqrt(d)) / (2*a);
writeln(‘x1=’,x1:3:2,’; x2=’,x2:3:2);
end
else
if d = 0 then begin
x1 := (-b) / (2*a);
writeln(‘x=’,x1:5:2);
end
else
writeln(‘Корней нет’);
end.
main() 0)
else
if (d = 0)
else printf(«Корней нет.»);
printf(«n»);
>
Ключ -lm при компиляции gcc.
python квадратное уравнение
print(«Введите коэффициенты для квадратного уравнения (ax^2 + bx + c = 0):»)
a = float(input(«a b c Дискриминант D = %.2f» % discr)
if discr > 0:
import math
x1 = (-b + math.sqrt(discr)) / (2 * a)
x2 = (-b — math.sqrt(discr)) / (2 * a)
print(«x1 = %.2f nx2 = %.2f» % (x1, x2))
elif discr == 0:
x = -b / (2 * a)
print(«x = %.2f» % x)
else:
print(«Корней нет»)
input «a b c x1 = » + x1 + «, x2 x Корней нет»
endif
endif
Команда decimal указывает сколько знаков после запятой следует выводить.
Программирование на Паскале. Тема: «Решение квадратного уравнения с использованием конструкции IF–THEN–ELSE»
До сих пор мы с вами говорили о каких-то отвлечённых задачах из области математики. Сегодня мы поговорим о конкретной задаче, которая встречается у вас почти на каждом уроке. Это решение квадратного уравнения. Я хочу, чтобы вы на примере этой задачи поняли, что программирование — это не просто прихоть учителя, это действительно раздел информатики, который может нам помочь, например, в решении конкретных математических задач. Нужно только уметь разбираться в этом.
2. Математическое решение
Давайте вспомним, что понимают под квадратным уравнением?
Что из себя представляют числа a,b,c и как их называют?
С чего начинают решение квадратного уравнения?
Найдите вокруг себя формулу дискриминанта. (D=b 2 -4ac) (Приложение 3)
Как мы решаем далее квадратное уравнение? (сравнение D с нулём)
Какие выводы мы из этого делаем?
(если D 0, то два корня)
Как найти корни квадратного уравнения? Найдите формулы корней среди тех, что развешены повсюду.
Если я случай наличия корней квадратного уравнения сведу к условию D0, то что я получу в случае D=0?
(Два одинаковых корня)
Давайте ещё раз подробно разберём нашу задачу:
Итак, у нас есть квадратное уравнение ax 2 +bx+c=0.
Процедуры в Паскале на примере
Август 20th, 2013
admin
Процедуры в Паскале (Pascal) используются очень часто. Основное отличие от функций состоит в том, что процедура может не возвращать несколько параметров. Функция возвратит лишь одно значение. Для примера я использовал решение квадратного уравнение при помощи процедуры.
Известно, что нужно вычислить дискриминант и сравнить его с нулем. На основании этого будет приняты шаги в последующей обработке. У меня получилась процедура:
Procedure equation(a,b,c:Real);
var d1:Real;
begin
d1:=b*b — 4*a*c;
if d1 if d1=0 then WriteLn(‘one root’);
if d1>0 then WriteLn(‘two roots’);
end;
Процедура как и функция описывается перед разделом описания переменных. На входе три переменные a,b,c. Считаю дискриминант d1:=b*b — 4*a*c; . Далее простые условные операторы. Проверяю. В программе задаю: equation(1,-6,9); . Выводит — один корень (one root). Но этот метод является не правильным. Нужно отделить решение от вывода. Соответственно вместо WriteLn(‘… root..’); лучше использовать флаг.
Он будет принимать некое значение, а другая процедура будет заниматься выводом. Пример полностью выглядит следующим образом:
Program proc;
Procedure equation(a,b,c:Real);
var d1:Real;
begin
d1:=b*b — 4*a*c;
if d1 if d1=0 then WriteLn(‘one root’);
if d1>0 then WriteLn(‘two roots’);
end;
. дискриминант с процедурой делфи процедура в паскаль примеры процедура паскаль процедуры паскаль примеры примеры процедур в паскале
. дискриминант процедуры делфи процедуры в паскале примеры примеры процедур в паскале процедуры паскаль примеры процедура паскаль
Опубликовано в рубрике Справочник
Источник: delphi-box.ru