Как составить линейное уравнение в паскале

Алгоритм решения линейного уравнения на паскале

Обменять значения двух переменных, используя третью (буферную) переменную.

x – первая переменная;
y – вторая переменная;
b – буферная переменная (для хранения значения другой переменной).

Обмен значений двух переменных протекает по следующему алгоритму:

  1. В буферной переменной сохраняется значение первой переменной.
  2. Первой переменной присваивается значение второй.
  3. Второй переменной присваивается значение буферной переменной, это значение равно старому значению первой переменной.

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

Получить от пользователя данные, обработать их и вывести на экран

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

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

Организации требуется программа, которая бы определяла, сколько банок краски необходимо для покраски того или иного бака.

Программа должна запрашивать у пользователя следующую информацию:

  • диаметр бака;
  • высота бака;
  • расход краски (площадь поверхности, которую можно покрасить одной банкой краски).В результате программа должна выдавать количество требуемых банок. При получении дробного числа округление должно всегда происходить в большую сторону.

Площадь крыши бака (круга) вычисляется по формуле p * d 2 /4 (где p – число пи, d – диаметр).
Площадь боковой поверхности цилиндра: p * d * h (где h – высота).

Стандартная функция trunc выполняет “отбрасывание” дробной части и возвращает целое число.

Месячная выплата m по займу в s рублей на n лет под процент p вычисляется по формуле:
m = (s * r * (1 + r) n ) / (12 * ((1 + r) n – 1)), где r = p / 100.

Программа, вычисляющая значение m (месячную выплату) по известным s (сумме займа), p (проценту) и n (количеству лет), может выглядеть так:

Урок 30

3.4.2. Составной оператор

В условном операторе и после then, и после else можно исполь­зовать только один оператор. Если при некотором условии требует­ся выполнить определённую последовательность операторов, то их объединяют в один составной оператор.
Конструкция вида

begin end

называется составным оператором .

Пример. Алгоритм решения квадратного уравнения вам хорошо известен. Запишем соответствующую программу на языке Паскаль.

program n_11;

var a, b, с: real;
var d: real;
var x, x1, x2: real;

begin

writeln (‘Решение квадратного уравнения ‘) ;
write (‘Введите коэффициенты а, b, c>>’);
readln (a, b, с);
d:=b*b-4*a*c;
if d
if d=0 then

begin

x:=-b/2/a;
writeln (‘Корень уравнения х=’, х:9:3)

end;

if d>0 then

begin

x1:=(-b+sqrt(d))/2/a;
x2:=(-b-sqrt(d))/2/a;
writeln (‘Корни уравнения:’) ;
writeln (‘x1=’, x1:9:3);
writeln (‘x2=’, x2:9:3)

end

end.

3.4.3. Многообразие способов записи ветвлений

В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:

if then

if then
else

При использовании таких сложных конструкций (их ещё называ­ют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if.

Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 10) алгоритма ре­шения линейного уравнения.

program n_12;

var a, b, x: real;

begin

writeln (‘Решение линейного уравнения’);
write (‘Введите коэффициенты а, b>>’);
readln (a, b);
if a<>0 then

begin

x:=-b/a;
writeln (‘Корень уравнения х=’, х:9:3)

end

else if b

else writeln (‘ x – любое число’);

end.

Как правило, для решения одной и той же задачи можно предло­жить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвле­ниям.

program n_l3;

var a, b, x: real;

begin

writeln (‘Решение линейного уравнения’);
write (‘Введите коэффициенты а, b>>’);
readln (a, b);
if а<>0 then

begin
x:=-b/a;
writeln (‘Корень уравнения х=’, х:9:3):

end;

if (a=0) and (b<>0) then writeln (‘Корней нет’);

if (a=0) and (b=0) then writeln (‘x – любое число’);

end.

Возможно, второй вариант программы покажется вам более на­глядным. Но и у первого варианта есть свои преимущества: в нём делается меньше проверок.

Используйте вложенные ветвления для записи программы, определя­ющей принадлежность точки х отрезку [а, b].

Вопросы и задания

1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполне­нии заданий.

2. Как на языке Паскаль записывается полное и неполное ветвление?

3. Является ли условным оператором следующая последовательность символов?

а) if x =y then x:=0; y:=0 else write(z)
в) if x

4. Что такое составной оператор? Для чего он используется в условном операторе?

5. Дан условный оператор:

if a 5 then с: =2

else с:=3

Какое значение имеет переменная а, если в результате выпол­нения условного оператора переменной с присваивается значе­ние 3?

Линейные алгоритмы на языке программирования Паскаль

Линейный алгоритм

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

Структура программы на языке Паскаль

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

Заголовок программы

Текст программы начинается со слова program. После него записывается имя программы. Данная строка носит информативный характер и ее можно не писать.

Раздел подключения модулей начинается со служебного слова uses, за которым следует список имен модулей, перечисляемых через запятую.

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

Раздел описания переменных

Раздел программы, обозначенный служебным словом var, содержит описание переменных с указанием их типов. Они используются для хранения исходных данных, результатов вычисления и промежуточных результатов.

Комментарии в программе можно записывать внутри фигурных скобок. Они игнорируются во время выполнения программы. Эти пояснения вы пишите только для себя.

В нашем примере переменные с именами X и Y используются для хранения исходных данных. Переменная с именем Z используется для хранения результата вычислений.

Имя переменной может записываться большими или маленькими латинскими буквами. Имя может содержать цифры, знак подчеркивания и не должно начинаться с цифры. Прописные и строчные символы считаются одинаковыми. В качестве имени нельзя использовать служебное слово языка Pascal.

Переменные одного типа можно указать в одной строке через запятую. После ставится двоеточие и указывается тип, к которому принадлежат переменные. Тип определяет допустимый диапазон значений.

Принадлежность переменной к типу integer означает, что она может хранить только целые числа. Если требуется хранить действительные (дробные) числа, тогда используется тип real.

Тело программы

Все что находится между служебными словами Begin и end — тело программы. Здесь записываются основные команды.

Оператор присваивания значений переменным имеет следующую структуру: переменная := выражение

Значок : = (двоеточие, равно) читается как «присвоить».
Умножение обозначается символом * (звездочка), деление — символом / (слеш).

Вывод результата выполняет команда write или print.

Каждая строка содержащая команду на языке Паскаль обязательно заканчивается символом «точка с запятой«.

Команды в Паскаль для ввода и вывода данных

Команда Read

В первом примере мы присвоили значения переменным непосредственно в тексте программы. Но так как программа пишется для решения множества однотипных задач, то удобнее задавать значения переменным во время ее работы. Для этого применяется команда read, которая позволяет ввести текстовые или числовые данные с клавиатуры.

Модифицируем код программы из примера выше.

Теперь ввод значений переменных Х и У будет осуществляться по запросу работающей программы. В этот момент нужно будет с клавиатуры ввести два числа через пробел и нажать клавишу Enter, чтобы продолжить выполнение программы.

При работающей программе в системе программирования PascalABC появится строка ввода данных. Там и пишутся значения переменных.

Команда Write

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

Теперь посмотрите, как добавленные строки повлияли на работу программы.


У нас появились подсказки. Посмотрите на команду write. В качестве ее аргумента был использован текст, заключенный в апострофы. И еще, появилось окончание ln у оператора write. Именно оно заставляет последующий вывод информации делать с новой строки. Это же окончание можно использовать совместно с оператором read.

Readln и Writeln в паскале — это модифицированные команды Read и Write. В командах добавлено окончание ln (line new — новая строка). Такая форма операторов делает последующий вывод информации, при работе программы, с новой строки.

Также поменялся вывод результата. Здесь тоже появилась подсказка.

Примеры программ на паскале — задания на линейные алгоритмы

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

Решение:

Задание 2. Дана длина ребра куба а. Найти объем куба V=a 3 и площадь его поверхности S=6a 2 .

[spoiler title=”источники:”]

http://informatika-ru.ucoz.com/index/urok30/0-69

http://infouch.ru/lineynye-algoritmy-na-yazyke-programmirovaniya-paskal/

[/spoiler]

Формулировка задачи:

В школе задали сделать программу, которая будет считать линейные уравнения. Но я по просту не понимаю логики… Поэтому прощу помощи, у кого есть немного свободного времени и желание помочь. Буду очень благодарен. Поставлю спасибо и +реп))))
Линейное уравнение вида a*x+b=0.

Код к задаче: «Решение линейных уравнений»

textual

Листинг программы

uses Crt;
var a, b, x : real;
 
BEGIN
     ClrScr;
     Write('Введите число a = ');
     ReadLn(a);
     Write('Введите число b = ');
     ReadLn(b);
     
     if ((a=0) and (b=0)) then
        WriteLn('Уравнение имеет бесконечное множество решений: х*0 + 0 = 0.')
     else if ((a=0) and (b<>0)) then
        WriteLn('Уравнение не имеет решений.')
     else if (a<>0) then
     begin
          x:= -(b/a);
          WriteLn('x = ', x);
     end
END.

Линейная функция y = kx + b. Решаем в Pascal

Добрый день, товарищи!

В этой публикации мы разберем, как находить координаты точек математической функции y = kx + b. С помощью программы мы найдем две координаты для построения графика. Напомню, что график данной функции – прямая.

Перед тем, как начать, покажу вам, как от значения k и b зависит положение графика, это так, на всякий случай.

Небольшая памятка.
Небольшая памятка.

В конце публикации – ссылка на код на Яндекс.Диске.

Итак, начинаем..

1. Переменные для программы

Набор переменных
Набор переменных

Смотрим: х1 и у1 нам нужны для первого набора точек, х2 и у2 – для второго. Ну и, само собой, k и b. Тип данных выберем вещественный, так как такая функция может легко содержать в себе дроби.

2. Введем k и b

Начинаем задавать значения нашего уравнения
Начинаем задавать значения нашего уравнения

Просто введем пару пригласительных сообщений, для наглядности, и сделаем возможность вводить переменные.

3. Задаем точки (х) функции

Задаем иксы
Задаем иксы

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

В конце, перед самим решением функции выведем его полностью, уже с нашими введенными значениями. Для наглядности, опять таки.

4. Решение функции

Решаем два уравнения
Решаем два уравнения

Решим два простеньких уравнения для каждой из заданных точек (х1 и х2). Готово! Функция решена, точки найдены. Остается только красиво это все вывести.

5. Выводим результаты

Покажем пользователю результат
Покажем пользователю результат

Выглядит страшно, но при работе программы все ровно наоборот. Такой подробный вывод не является обязательным, но чем красивше, тем лучше, верно?

6. Тестирование

Тестируем программу
Тестируем программу

Так выглядит тест программы, для первого теста были взяты значения х {0} и {1}, потому что функция является линейной, и брать эти значения проще всего.

Программа не строит график самостоятельно (хотя на Delphi это более чем возможно реализовать, ну об этом в будущем), но для этого теста я построил график с найденными точками.

График для найденных координат
График для найденных координат

7. Конец

Чтож, программа доделана, код, как и обещал, кидаю ниже:

Скачать программу для Паскаля с Яндекс.Диска

Линейная функция y = kx + b. Решаем в Pascal

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

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

Доброго вам всем здоровьица в эти трудные времена!

0 / 0 / 0

Регистрация: 27.02.2015

Сообщений: 4

1

Программа нахождения решения линейного уравнения

27.02.2015, 15:45. Показов 11728. Ответов 4


Студворк — интернет-сервис помощи студентам

Составьте программу нахождения решения линейного уравнения ах + b = 0. Заранее спасибо)



0



APALoff

1646 / 1075 / 1081

Регистрация: 03.07.2013

Сообщений: 4,507

27.02.2015, 16:19

2

Точно, такого в начальной школе не проходят…

Pascal
1
x:=-b/a;



0



Puporev

Почетный модератор

64285 / 47584 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

27.02.2015, 16:20

3

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var a,b,x:real;
begin
writeln('Введите коэффициенты a,b');
readln(a,b);
if (a=0) and (b=0) then
write('x-любое число')
else
 begin
  x:=-b/a;
  write('x=',x:0:2);
 end;
end.



1



1642 / 1091 / 487

Регистрация: 17.07.2012

Сообщений: 5,345

28.02.2015, 01:36

4

И как всегда еще кое-что забыли…Когда а=0, b<>0.



0



Puporev

Почетный модератор

64285 / 47584 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

28.02.2015, 07:17

5

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var a,b,x:real;
begin
writeln('Ââåäèòå êîýôôèöèåíòû a,b');
readln(a,b);
if (a=0) and (b=0) then
write('x-ëþáîå ÷èñëî')
else if(a=0)and(b<>0)then write('íåò ðåøåíèé')
else
 begin
  x:=-b/a;
  write('x=',x:0:2);
 end;
end.



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

28.02.2015, 07:17

Помогаю со студенческими работами здесь

Составить программу для решения линейного уравнения
1) Составить программу для решения линейного уравнения ах + в = 0, если, а не равно 0, то х = – в/а…

Программа нахождения корней уравнения
Разработать программу нахождения корней уравнения f(x)=0 на интервале с точностью e=0.001(интервал…

Программа решения уравнения c факториалом
Во всех заданиях запрещено использовать операции возведения в степень,экспоненту(кроме явно…

Программа для решения уравнения
Нужно написать программу, чтобы решала уравнение

y=begin{cases} 3x^5+a &amp; text{, if }…

Программа для решения биквадратного уравнения
Составить биквадратное уравнение

Заголовок темы изменен модератором.
Он должен быть…

Программа решения уравнения методом бисекции
f(x)=x^3 -0,2 x^2 +0,5x+1,5 , a=-1, b=0 , eps := 0,0001

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

5

program urav;
var x, A, B: real;
begin
    writeln('Программа для решения уравнения A * x + B = 0. ');
    write('Введите коэффициент А: ');
    readln(A);
    write('Введите коэффициент В: ');
    readln(B); x := -B / A;
    write('х = ', x:5:2);
end.

Похожие записи/страницы:

  • Решить линейное уравнение Ax + B = 0, заданное своими коэффициентами A и B (коэффициент A не равен 0) – Pascal(Паскаль)
  • Найти корни квадратного уравнения A·x2 + B·x + C = 0, заданного своими коэффициентами A, B, C (коэффициент A не равен…
  • Найти корни квадратного уравнения Ax^2+ Bx + C = 0, заданного своими коэффициентами A, B, C (коэффициент A не равен 0),…
  • Даны шесть квадратных уравнений.Подсчитайте сумму всех действительных корней этих уравнений , если таковые…
  • Решение квадратного уравнения -Pascal(Паскаль)
  • Сформируйте массив, содержащий 5 элементов, с помощью датчика случайных чисел. Получите новый массив, каждый элемент…
  • Написать программу для решения системы линейных уравнений a1x+b1y=c1; a2x+b2y=c2 – Pascal(Паскаль)
  • Программа считывает с клавиатуры «q0», «q1, «p0», «p1» и вычисляет коэффициент эластичности – Pascal(Паскаль)

Добавить комментарий