Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

1 x 2 паскаль

Программирование на Паскале. Тема: «Решение квадратного уравнения с использованием конструкции IF–THEN–ELSE»

Цели урока:

  • Повторить с учащимися правила решения квадратных уравнений
  • Вспомнить алгоритмическую конструкцию IF-THEN-ELSE
  • Составить блок-схему программы и саму программу на языке Pascal
  • Проверить работоспособность программы на конкретных примерах
  • Расширить представления учащихся о применении языка Pascal
  • Воспитать у учащихся чувство аккуратности, внимательности, ответственности
  • Научить учащихся самостоятельно находить свои ошибки в программах
  • Оборудование:

  • Таблички с формулами
  • Плакат с блок-схемой алгоритма КВУР
  • Листочки с индивидуальными заданиями
  • Система программирования «Turbo Pascal 7.0»
  • До сих пор мы с вами говорили о каких-то отвлечённых задачах из области математики. Сегодня мы поговорим о конкретной задаче, которая встречается у вас почти на каждом уроке. Это решение квадратного уравнения. Я хочу, чтобы вы на примере этой задачи поняли, что программирование — это не просто прихоть учителя, это действительно раздел информатики, который может нам помочь, например, в решении конкретных математических задач. Нужно только уметь разбираться в этом.

    2. Математическое решение

    Давайте вспомним, что понимают под квадратным уравнением?

    Что из себя представляют числа a,b,c и как их называют?

    С чего начинают решение квадратного уравнения?

    Найдите вокруг себя формулу дискриминанта. (D=b 2 -4ac) (Приложение 3)

    Как мы решаем далее квадратное уравнение? (сравнение D с нулём)

    Какие выводы мы из этого делаем?

    (если D 0, то два корня)

    Как найти корни квадратного уравнения? Найдите формулы корней среди тех, что развешены повсюду.

    Если я случай наличия корней квадратного уравнения сведу к условию D0, то что я получу в случае D=0?

    (Два одинаковых корня)

    Давайте ещё раз подробно разберём нашу задачу:

    Итак, у нас есть квадратное уравнение ax 2 +bx+c=0.

    Мы должны решить его, т.е. найти такие значения х, при которых правая часть уравнения =0. Мы знаем, что для этого нам надо:

    Найти дискриминант D=b 2 — 4ac.

    Сравнить его с нулём

    D=b 2 -4ac=10 2 -4*3*3=100 — 36 =64

    Х1=,

    X2 =

    3. Составление блок-схемы алгоритма.

    По заданному решению попробуем составить блок-схему алгоритма в тетради. Кто справится первым, прошу к доске.

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

    4. Составление программы по блок — схеме.

    Теперь, пользуясь нашими записями, составим программу и покажем её учителю. Тот, кто до конца урока составит только программу, не проверив её на компьютере, получит три, тот, кто наберёт программу на компьютере, но не проверит её на примерах, получит три. Тот, кто выполнит всё задание, получит пять.

    А я раздам вам домашнее задание.

    Var a,b,c,d,x1,x1: real;

    Write(‘введите коэффициенты уравнения a,b,c’); readln(a,b,c);

    Else writeln(‘действительных корней нет’)

    1. Составить и набрать программу КВУР на компьютере.

    Загрузка среды Pascal- 2ЩЛКМ по значку Pascal, нажать ALT+ENTER.

    Запуск программы — ЩЛКМ по кнопке RUN выбрать RUN.

    2. Решить следующие квадратные уравнения и показать учителю их решения (если нет такой возможности, то занести их в маршрутный лист (Приложение 4)

    1,5х 2 -0,6х — 4,8 = 0

    3. Переделайте программу КВУР таким образом, чтобы в ней учитывался случай, когда D=0 и уравнение имеет один корень.

    4. Закрыть программу.

    Подсказка: Меню File — Exit или ALT+X.

    1. За простое воспроизведение (набор программы) без проверки оценка «3»

    2. За проверку работы программы на примерах, представленных учителем оценка «4»

    3. За решение всех заданий и дополнительное изменение программы для случая D=0, оценка «5»

    Язык программирования TurboPascal

    Turbo Pascal. Программирование арифметических выражений

    Оператор присваивания

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

    Оператор присваивания предназначен для присваивания переменной значения выражения.

    Формат оператора присваивания:

    В операторе присваивания слева от знака присваивания «:=» записывается переменная, а справа – выражение, численное значение которого присваивается этой переменной.

    Выполнение оператора присваивания приведет к вычислению выражения и присваиванию значения выражения переменной.

    Обязательным является требование, чтобы выражение и переменная были совместимы по присваиванию.

    Например, оператор присваивания

    означает, что переменной y присваивается число, полученное в результате вычисления выражения x+h/2 при известных числовых значениях переменных x и h .

    Читать еще:  Неизвестное имя паскаль

    Следует обратить внимание, что всем переменным в правой части оператора присваивания ранее уже были присвоены значения предыдущими операторами, например,

    Здесь переменной t присваивается значение, которое до этого момента имела переменная t, плюс 1. Если переменная t имела до выполнения этого оператора значение равное 7, то после исполнения оператора t:=t+1 значение переменной будет равно 8.

    Арифметические выражения

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

    Правила записи и смысл арифметических выражений в Паскале почти не отличаются от обычной математической записи.

    В арифметических выражениях используются следующие операции и соответствующие знаки:

    Операции +, -, *, / имеют очевидный смысл. Результатом операции div будет целое значение, равное целой части результата деления первого числа на второе. Результатом операции mod будет целое значение, равное остатку от деления (но не дробной части).

    Примеры арифметических операций:

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

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

    Рассмотрим арифметическое выражение

    В таблице приведен порядок выполнения операций:

    ЗАМЕЧАНИЕ. Все данные, входящие в арифметическое выражение, должны быть одного типа.

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

    Пример. Пусть переменные x и y описаны следующим образом:

    Рассмотрим оператор y:= x+2 , в котором используются переменные целого, вещественного типов и константа. Результат операции будет вещественного типа, поэтому оператор y:=x+2; является допустимым, хотя справа от присваивания стоит целая переменная и константа;

    Следующие операторы являются ошибочными:

    Для обеспечения совместимости типов необходимо выполнять преобразования данных. Для преобразования Real в Integer имеются две функции:

    Round() – округляет Real до ближайшего целого;

    Trunc() – усекает Real путем отбрасывания дробной части.

    Правильная запись рассматриваемых операторов: x:=y+2; и x:=y/x; имеет вид:

    Программируя арифметические выражения, нужно иметь в виду следующие основные правила:

    • Два знака арифметических операций нельзя писать рядом. Например, следующие записи будут неправильными:
      +–a –b — следует писать +(–a) –b
      a*–b — следует писать a*(–b)
    • Знак умножения опускать нельзя, например, при записи произведения: a*b и 2*n , запись ab и 2n будет неправильной, так как ab воспринимается как идентификатор, а запись 2n не является идентификатором, потому что начинается с цифры.
    • В арифметических выражениях допускается использовать только круглые скобки. Количество открывающих круглых скобок должно соответствовать количеству закрывающих круглых скобок. Применение фигурных и квадратных скобок запрещается, так как они имеют особое значение.
    • Все данные, входящие в выражения должны быть одного типа. Если в выражении используются данные целого и вещественного типа, результат операции будет вещественного типа.

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

    Линии в Pascal: Line, LineTo, MoveTo

    На предыдущих страницах мы говорили об точках в Паскале: изучили процедуры GetPixel (определить цвет данного пикселя) и PutPixel, SetPixel (задать данному пикселю определенный цвет – там мы строили линии и не только с помощью точек). Здесь рассмотрим одни из наиболее важных процедур в графике Паскаля – построение линий Line, LineTo и вспомогательная для последней MoveTo.

    Так чем же отличаются Line и LineTo, и зачем нужна загадочная MoveTo?

    ✎ Line(x1, y1, x2, y2) — Эта процедура соединяет отрезком точки (x1, y1) и (x2, y2).

    Теперь немного разукрасим отрезок и увеличим его толщину, так как в предыдущем примере по умолчанию цвет черный, а толщина линии 1 пиксель:

    Ниже представлены примеры программ случайных появляющихся отрезков в PascalABC.Net и Turbo Pascal/Free Pascal:

    Читать еще:  Символьная матрица паскаль

    ✎ Line(x1, y1, x2, y2, C) – Проводит отрезок от точки (x1, y1) до точки (x2, y2), закрашивая отрезок цветом C. Есть только в PascalABC.Net. Толщина линии при этом равна 1 пиксель и её изменить нельзя.

    ✎ MoveTo(x, y) – Устанавливает начальную точку (позицию) рисования в (x, y). Если эту процедуру не задействовать, то начальная точка по умолчанию принимается за (0, 0) – левый верхний угол окна. Процедура MoveTo используется совместно с LineTo (см. ниже).

    ✎ LineTo(x, y) – Рисует отрезок от точки, в которой на данный момент находится конец отрезка (текущая позиция), до точки (x, y); начальная позиция задается с помощью MoveTo (см. выше), а новая позиция переходит в точку (x, y). Данная процедура задействуется при построении последовательной цепочки линий (отрезков) – когда конец каждой линии является одновременно началом следующей.

    А как нарисовать звезду в паскале? Ниже представлен пример программы для рисования звезды в PascalABC.Net с указанным количеством концов. Все комментарии с в коде:

    Результат выполнения программы представлен на рисунке:

    Результат выполнения программы представлен на рисунке:

    ✎ LineTo(x, y, C) — Рисует отрезок от точки, в которой на данный момент находится конец отрезка (текущая позиция), до точки (x, y) цветом C. Начальная позиция задается с помощью MoveTo, а новая позиция переходит в точку (x, y). Толщина линии при этом равна 1 пиксель.

    LineTo(x, y) действует следующим образом. Пусть необходимо построить ломаную с вершинами в 10 точках (x, y), (x1, y1), (x2, y2), . (x9, y9). Для этого, естественно, можно использовать описанную выше процедуру Line(. ) и построить следующую последовательность линий:

    1) Line(x0, y0, x1, y1) ; 2) Line(x1, y1, x2, y2) ; 3) Line(x2, y2, x3, y3) ; . ; 9) Line(x8, y8, x9, y9) .

    Но в таком случае точки (x1, y1), (x2, y2), . (x8, y8) будут строится два раза – в конце предыдущего и начале следующего отрезков. Здесь можно проще поступить: процедурой MoveTo(x0, y0) задаем начальную точку ломаной линии, а после 9 раз используем процедуру LineTo:

    1) LineTo(x1, y1) ; 2) LineTo(x2, y2) ; 3) LineTo(x3, y3) ; . 9) LineTo(x9, y9) .

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

    На этом все о линиях в паскале. А пока, если вам понадобится длительное хранение зерна, то вам не обойтись без сушильного шкафа от экан — он сохраненяет питательные вещества и соответствует стандарту ГОСТ.

    Треугольник Паскаля

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

    Треугольник Паскаля можно получить из таблицы натуральных степеней бинома x + y

    Натуральные степени бинома x + y

    Свойства треугольника Паскаля

    • Сумма чисел n-ной строки (отсчет ведется с нуля) треугольника Паскаля равна 2 n . Действительно, при переходе от каждой строки к следующей сумма членов удваивается, а для нулевой строки она равна 2 0 =1 .
    • Все строки треугольника Паскаля симметричны. Потому что при переходе от каждой строки к следующей свойство симметричности сохраняется, а нулевая строка симметрична.
    • Каждое число в треугольнике Паскаля равно Cn k , где n — номер строки, k — номер (отсчет ведется с нуля) элемента в строке.
    • Каждое число треугольника Паскаля, уменьшенное на единицу, равно сумме всех чисел, заполняющих параллелограмм, ограниченный диагоналями, на пересечении которых находится этот элемент.
    • Вдоль диагоналей, параллельных сторонам треугольника, выстроены треугольные числа, тетраэдрические числа и т.д.
    • Если посчитать для каждой восходящей диагонали треугольника Паскаля сумму всех стоящих на этой диагонали чисел, то получится соответствующее число Фибоначчи.

    Определения

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

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

    Последовательность f1 = f2 = 1 , fn = fn−1 + fn−2 при n>2 называется последовательностью Фибоначчи, а ее члены — числами Фибоначчи.

    Написать разложение вида: (x + y) 7

    Воспользовавшись строкой треугольника Паскаля с номером 6 и применив основное свойство треугольника Паскаля, получим строку с номером 7:

    Читать еще:  Определитель матрицы паскаль

    Не можешь написать работу сам?

    Доверь её нашим специалистам

    Если материал понравился Вам и оказался для Вас полезным, поделитесь им со своими друзьями!

    О сайте

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

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

    calcsbox.com

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

    © 2020 Все калькуляторы online

    Копирование материалов запрещено

    Решение задач. День шестнадцатый. Proc1-10

    Приветствуем читателей нашего сайта. Сегодня мы решаем proc1-10.

    Proc1-10

    Proc1. Описать процедуру PowerA3(A, B), вычисляющую третью степень числа A и возвращающую ее в переменной B (A — входной, B — выходной параметр; оба параметра являются вещественными). С помощью этой процедуры найти третьи степени пяти данных чисел.

    Proc2. Описать процедуру PowerA234(A, B, C, D), вычисляющую вторую, третью и четвертую степень числа A и возвращающую эти степени соответственно в переменных B, C и D (A — входной, B, C, D — выходные параметры; все параметры являются вещественными).

    Proc3. Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X+Y)/2 и среднее геометрическое GMean = √(X * Y) двух положительных чисел X и Y (X и Y — входные, AMean и GMean — выходные параметры вещественного типа). С помощью этой процедуры найти среднее арифметическое и среднее геометрическое для пар (A, B), (A, C), (A, D), если даны A, B, C, D.

    Proc4°. Описать процедуру TrianglePS(a, P, S), вычисляющую по стороне a равностороннего треугольника его периметр P = 3·a и площадь S = a 2 *√3 / 4. (a — входной, P и S — выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти периметры и площади трех равносторонних треугольников с данными сторонами.

    Proc5. Описать процедуру RectPS(x1, y1, x2, y2, P, S), вычисляющую периметр P и площадь S прямоугольника со сторонами, параллельными осям координат, по координатам (x1, y1), (x2, y2) его противоположных вершин (x1, y1, x2, y2 — входные, P и S — выходные параметры вещественного типа). С помощью этой процедуры найти периметры и площади трех прямоугольников с данными противоположными вершинами.
    Сравните эту задачу с Begin19.

    Proc6. Описать процедуру DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S — выходные параметры целого типа). С помощью этой процедуры найти количество и сумму цифр для каждого из пяти данных целых чисел.
    Сравните с while18.

    Proc7. Описать процедуру InvertDigits(K), меняющую порядок следования цифр целого положительного числа K на обратный (K — параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры поменять порядок следования цифр на обратный для каждого из пяти данных целых чисел.

    Proc8°. Описать процедуру AddRightDigit(D, K), добавляющую к целому положительному числу K справа цифру D (D — входной параметр целого типа, лежащий в диапазоне 0–9, K — параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры последовательно добавить к данному числу K справа данные цифры D1 и D2. Выводя результат каждого добавления.

    Proc9. Описать процедуру AddLeftDigit(D, K), добавляющую к целому положительному числу K слева цифру D (D — входной параметр целого типа, лежащий в диапазоне 1–9, K — параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры последовательно добавить к данному числу K слева данные цифры D1 и D2, выводя результат каждого добавления.

    Proc10°. Описать процедуру Swap(X, Y), меняющую содержимое переменных X и Y (X и Y — вещественные параметры, являющиеся одновременно входными и выходными). С ее помощью для данных переменных A, B, C, D последовательно поменять содержимое следующих пар: A и B, С и D, B и С и вывести новые значения A, B, C, D.
    Сравните с begin22.

    На сегодня все! Если у вас возникли проблемы с решением задач proc1-10 или с любыми другими задачами, то напишите их в комментариях.

    Ссылка на основную публикацию
    Adblock
    detector