0 / 0 / 0
Регистрация: 31.05.2019
Сообщений: 5
|
|
1 | |
Составить блок схему алгоритма и программу для произвольных исходных данных для вычисления функции по формуле с двойной31.05.2019, 08:40. Показов 12289. Ответов 9
Метки нет (Все метки)
Составить блок схему алгоритма и программу для произвольных исходных данных для вычисления функции по формуле с двойной точностью:
0
|
31.05.2019, 08:40 | |
Ответы с готовыми решениями:
9
Составить блок схему алгоритма и программу для вычисления функции по формуле для произвольных исходных данных, с двойной Составить блок схему алгоритма и программу для вычисления функции по формуле для произвольных исходных данных, Составить блок схему алгоритма и программу для вычисления функции по формуле с двойной точностью Составить блок схему алгоритма и программу для вычисления функции по формуле с двойной точностью |
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
31.05.2019, 09:03 | 2 |
В каком Паскале это нужно?
0
|
0 / 0 / 0
Регистрация: 31.05.2019
Сообщений: 5
|
|
31.05.2019, 09:13 [ТС] | 3 |
В задании этого не указано , это было перед заданием
Кликните здесь для просмотра всего текста
Язык программирования Паскаль был разработан в начале 70-х годов. Язык так назван в честь известного французского математика Блеза Паскаля, создателя счетной машины. Разработчиком Паскаля является Никлаус Вирт, профессор высшей технической школы в г. Цюрихе (Швейцария). Паскаль — это язык программирования высокого уровня, он создавался, прежде всего, для целей обучения программированию.
Основные элементы языка Алфавит языка Паскаль включает основные символы, служебные слова и стандартные идентификаторы. Набор основных символов можно разбить на три группы: буквы, цифры и специальные символы. В Паскале используются буквы латинского алфавита (большие и малые) от А до Z, буквы русского алфавита (большие и малые) от А до Z, а также сим¬вол _, который используется наравне с буквами, и арабские цифры 0 1 2 3 4 5 6 7 8 9. Специальные символы включают: знаки арифметических операций: + (сложение), - (вычитание), * (умно¬жение), / (деление); знаки операций сравнения: < (меньше), = (равно), > (больше), а также двой¬ные символы >=, <=, <>; разделители: . (точка), , (запятая), : (двоеточие), ; (точка с запятой), ' (апо¬строф), () (скобки), [ ] (индексные скобки), {} (скобки для комментариев), _ (пробел); другие символы, например, $. # . Остальные символы, включая буквы русского алфавита, используются в символьных и текстовых константах, а также в комментариях. Служебные (зарезервированные) слова — это заранее зарезервированные для данного языка программирования слова. В Паскале используются, например, следующие служебные слова: and - и not - не begin - начало do — выполнить if - если then -то. Стандартные идентификаторы — это заранее предопределенные для языка программирования имена. Например, к стандартным идентификаторам языка Паскаль относятся: • • константы: false , true; • • типы: integer, real, • • функции: abs, sin, cos, exp, In, • • процедуры: close, read, write и т.д. Служебные слова и стандартные идентификаторы распознаются компилятором без дополнительного описания. Их нельзя использовать ни для каких других целей (в частности для обозначения имен переменных, функций и про¬цедур). Для обозначения различных программных объектов: констант, переменных и т.д. используются имена. Роль имен выполняют идентификаторы. Идентификатор — это последовательность букв и цифр, начинающаяся с буквы. Например: х, sum2, rad_kl. В Турбо Паскале длина идентификатора не должна превосходить 127 символов, причем значащими являются первые 63 символа. Идентификатор нельзя переносить из строки в строку. Рекомендуется использовать идентификаторы, отражающие смысловое значение программных объектов. Например: radius 1, sum_2. Все идентификаторы (кроме стандартных) должны быть описаны, т.е. объявлены в описательной части программы. Константа — это объект программы, значение которого не изменяется в процессе выполнения программы. Каждая константа имеет свой тип. Числовые константы бывают целые и вещественные. Например, целые константы записываются так: +125, -12, 6. Вещественные константы записываются либо в форме с фиксированной десятичной точкой, например, 43.6, либо в форме с плавающей запятой (в экспоненциальной форме), например, - 0.5Е-2. Символ Е служит признаком представления числа в экспоненциальной форме и разделителем мантиссы и порядка. Запись тЕр означает т*10 p( т.е. - 0.5Е-2 = -0.5*10-2. В Паскале имеется только две константы логического (или булевского) типа: true (истина) и false (ложь). Символьная константа представляет собой символ, заключенный в апострофы. Например, 'а', '?'. В Паскале имеются также константы сложных типов. В частности, к ним относятся строковые константы. Строковая константа — это последовательность произвольных символов языка (текст), заключенная в апострофы. Например, 'Сумма равна', 'х='. Константы описываются в разделе описания констант, который начинается со служебного слова const: const п=100; {целая константа} х=2.47; {вещественная константа} с='%'; {символьная константа} t=false; {булевская константа} Переменная — это объект программы, который имеет имя, тип и значение, изменяющееся в процессе выполнения программы. В Паскале тип переменной обязательно следует описать (объявить) в разделе описания переменных: var <имя переменной>:<имя типа>; Данные бывают скалярных (простых) типов, составных (структурированных) типов. Кроме того, в Паскале имеются данные динамической структуры. Например: переменные скалярных типов описываются так: var n,m: integer; x,y,z: real; с: char; t: boolean; Из структурированных типов данных рассмотрим два: массивовый и строковый. Переменная строкового типа описывается так: var <имя строковой переменной>: string[п]; где п — целое число, принимающее значение от 1 до 255, задает максимальную длину строки. По умолчанию значение константы равно 255. Пример. var c1:string [10]; с2: string; К элементу строки можно обратится так: cl[2], с2[25]. Переменная массивого типа описывается так: var <имя массива>: array[<тип индексов>] of <тип компонентов>; Тип компонентов массива — это любой используемый в Паскале тип данных, как простой, так и составной. Тип индексов — любой скалярный, кроме вещественного, ограниченный тип данных. Примеры описания массивов: var р: array [1..7] of integer; varm: array [1..3,1..2] of real; К элементу массива можно обратиться так: р[5], m[2,3]. В языке Паскаль, как и в других языках программирования, имеются функции, которые встроены в компилятор и распознаются без дополнительного описания. Они называются стандартными функциями. Среди стандартных функций различают математические функции, функ¬ции преобразования и некоторые другие. В таблице 10 приведены стандартные математические функции. Таблица 10 Математические функции Имя функии Тип аргумента Тип результата Назначение abs(x) integer,real integer,real Вычисляет абсолютное значение числа х sqr(x) integer,real real Вычисляет квадрат числа х sqrt(x) integer,real real Вычисляет квадратный корень числа х sin(x) integer,real real Вычисляет синус числа х (х в рад) cos(x) integer,real real Вычисляет косинус числа х (х в рад) arctan(x) integer,real real Вычисляет арктангенс числа х exp(x) integer,real real Вычисляет е в степени х ln(x) integer,real real Вычисляет натуральный логарифм числа х Примечание. В языке Паскаль нет операции возведения в степень, но используя тождество ab = е b ln a , аb, можно вычислить через известные стандартные функции следующим образом: ехр (b • In (а)). Выражения в Паскале образуются из констант, переменных, функций, знаков операций и круглых скобок. Выражения бывают арифметическими и логическими. Арифметическое выражение — это выражение, в котором присутствуют числовые константы, переменные, арифметические функции, знаки арифметических операций и круглые скобки. Значение арифметического выражения есть число. Пример. Арифметическое выражение на языке Паскаль имеет вид: у +(2*х- sin( х ))/sqrt(exp ). Логическое выражение — это выражение, в котором присутствуют константы, переменные, логические функции, знаки логических операций и знаки операций сравнения. Логические выражения принимают только два значения: либо false (истина), либо true (ложь). Пример. Двойное неравенство х < у < z на Паскале записывается так: (х<у) and (y<z). При вычислении значений выражений используются общепринятые математические правила. Операции с большим приоритетом выполняются раньше, операции с одинаковым приоритетом выполняются последовательно слева направо. В Паскале установлены следующие приоритеты: 1. операции сравнения: = (равно), <> (не равно), < (меньше), <= (меньше или равно), > (больше), > = (больше или равно); 2. операции типа сложения: + , , or; 3. операции типа умножения: *, / , div , mod, and; 4. унитарные операции: not, . Для изменения порядка выполнения действий в выражениях используются скобки. Элементарный ввод и вывод Элементарные операции ввода и вывода обеспечивают обмен информацией между пользователем и компьютером: ввод данных с клавиатуры и вывод на экран. Процедуры ввода имеют вид: read (хь х2,..., хп); readln (xi, х2,..., xn); где Xi, i = 1 , ..., n — элементы списка ввода, представляющие собой переменные. Процедуры ввода обеспечивают чтение данных с клавиатуры и присвоение прочитанных значений соответствующим переменным списка в скобках в порядке их следования. Процедура readln отличается от процедуры read тем, что после окончания чтения значения последней переменной списка ввода, в данном случае это хп, осуществляется перевод к началу новой строки. Переменные списка ввода могут быть целого, вещественного или символьного типа. При вводе числовых значений в качестве разделителя выступает пробел. При вводе символов разделитель не нужен. Процедуры вывода имеют вид: write (хь х2,..., хп); writeln (xi, х2,..., хп); где Xi, i = 1, ..., n — элементы списка вывода, представляющие собой выраже¬ния. Данные процедуры выполняют вывод на экран значений выражений, указанных в списке вывода, кроме того, процедура writeln после вывода последнего выражения списка вывода осуществляет переход к новой строке. Значения выводимых выражений (в частности переменных) должны быть целого, вещественного, символьного, логического типа, а также могут выводиться строки символов (заключенных в апострофы). Для выводимого данного можно задавать определенное число позиций. В этом случае требуется указывать формат вывода следующим образом: для целых, символьных, булевских и строковых данных — write (х:n), для вещественных — write (x:n:m), где n – общее число позиций, m — число позиций после десятичной точки. Основные операторы Каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. 1. Оператор присваивания имеет вид: <имя переменной> := <выражение>; Оператор выполняется так: вычисляется значение выражения, стоящего в правой части, затем полученное значение присваивается переменной, имя которой записано в левой части оператора присваивания. Имя переменной и значение выражения должны быть одного типа. Допускается единственное исключение: разрешается значение целого типа присваивать переменной вещественного типа. 1. Составной оператор имеет вид: begin <оператор1> ; <onepaтopN> ; end; Составной оператор представляет последовательность операторов, перед которой стоит служебное слово begin и которая заканчивается служебным словом end. Операторы разделяются точками с запятой. Служебные слова begin и end играют роль скобок, ограничивающих начало и конец составного оператора. Выполнение составного оператора заключается в последовательном (в порядке их записи) выполнении операторов внутри операторных скобок begin и end. 1. Условный оператор имеет вид: if<условие> then <оператор1> else <оператор2> ; При выполнении условного оператора сначала определяется значение логического выражения. Если это значение — true, то выполняется оператор, следующий за служебным словом then. В противном случае выполняется оператор, следующий за служебным словом else. Условный оператор может использоваться в сокращенной форме: if<условие> then <оператор>; В этом случае, если логическое выражение истинно, выполняется оператор, стоящий за служебным словом then, в противном случае этот оператор пропускается и выполняется оператор, следующий за условным. 1. Оператор цикла с предусловием имеет вид: while <условие> do <оператор> ; Оператор выполняется следующим образом. Сначала проверяется условие, т.е. вычисляется значение логического выражения (поэтому и называется оператором цикла с предусловием). Если это значение истинно, то выполняется оператор (простой или составной), следующий за служебным словом do, и снова вычисляется значение логического выражения. И так до тех пор, пока значение логического выражения истинно. Как только оно будет ложным, выполнение оператора цикла завершается. Если в операторе цикла с предусловием после служебного слова do надо записать несколько операторов (составной оператор), то они заключаются в операторные скобки begin—end. 1. Оператор цикла с постусловием имеет вид: repeat <оператор> unti <условие> ; Оператор выполняется так. Сначала выполняется оператор, следующий за служебным словом repeat, затем проверяется условие, т.е. вычисляется значение логического выражения (поэтому он называется оператором цикла с постсловием). Если значение логического выражения ложно, то выполняется оператор (операторы), следующий за служебным словом repeat, и снова проверяется условие. И так до тех пор, пока значение логического выражения ложно. Как только значение логического выражения примет значение true, выполнение оператора цикла завершается. Для того, чтобы при выполнении вышеописанных операторов цикла не произошло «зацикливания», необходимо, чтобы среди выполняемых операторов был оператор, влияющий на значение логического выражения. 1. Оператор цикла с параметром имеет вид: for <имя переменной> := <выражение1> to <выражение2> (1) do <оператор>; где <имя переменной> — идентификатор переменной, называемый параметром цикла; <выражение1> — начальное значение параметра цикла, <выражение2> — конечное значение параметра цикла ; <оператор> — любой оператор языка Паскаль (в том числе и составной). Параметр цикла, начальное и конечное значения параметра цикла должны быть одинакового типа (любого скалярного, кроме вещественного). В теле цикла запрещается изменять значения параметра цикла, начальное и конечное значение параметров цикла. Если обозначить через i — идентификатор параметра цикла, п — начальное значение параметра, к — конечное значение параметра, t — оператор (тело цикла), тогда (1) примет вид: for i := n to k do t; Оператор цикла выполняется следующим образом. Сначала вычисляются начальное и конечное значения параметров пик. Если п > к, то выполнение оператора цикла сразу же прекращается. Если п < к, то переменной i присваивается значение п и выполняется оператор t, следующий после служебного слова do. Затем переменной i присваивается следующее значение (если i целого типа, то i := i +1), которое сравнивается с конечным значением параметра цикла. Если i < к, то снова выполняется оператор t, значению параметра i присваивается следующее значение и т.д. Оператор цикла завершается, как только значение параметра i будет больше к. В Паскале предусмотрен также оператор цикла следующего вида: for <имя переменной> := <выражение1> downto <выражение2> (2) do <оператор>; где <имя переменной>, <выражение1>,<выражение2>, <оператор> имеют прежний смысл. Используя уже введенные обозначения, оператор цикла вида (2) можно переписать в виде : for i := n downto k do t; При выполнении данного оператора параметр цикла последовательно убывает от п до к, и при каждом повторении цикла, если i целого типа, принимает значение i := i - 1. Выполнение оператора цикла прекращается при i < к. 7. Оператор варианта (полная форма) имеет вид: case <выражение> of <список констант 1> : <оператор1> ; <список константМ> : <onepaTopN> ; else < оператор N+l>; end ; где <выражение> — выражение любого скалярного типа, кроме вещественного, <оператор> — любой оператор языка Паскаль, в том числе и составной, <список констант> — список разделенных запятыми констант (значений выражения или одно его значение). Значения выражения и констант должны иметь один и тот же тип. Неполная форма оператора варианта имеет вид: case <выражение> of <список констант1> : <оператор1> ; <список константМ> : <oneparopN> ; end; Оператор выполняется следующим образом. Сначала вычисляется значение выражения, стоящего после служебного слово case. Затем оно последовательно сравнивается с константами, и выполняется тот оператор, одна из констант которого равна текущему значению выражения. После окончания выполнения выбранного оператора управление передается в конец оператора case Если константы, значение которой совпадает со значением выражения нет, то в случае полного оператора варианта выполняется оператор после служебного слова else, неполного — выполняется оператор после служебного слова end. Структура программы на языке Паскаль Программа на языке Паскаль состоит из заголовка, раздела указания используемых модулей (предложение uses), раздела описаний и раздела операторов. Заголовок программы имеет вид: program <идентификатор>; где program — служебное слово, <идентификатор> — имя программы, задаваемое пользователем; желательно его выбирать таким образом, чтобы оно отражало главную функцию, выполняемую программой. Заголовок программы отделяется от остального текста ; (точкой с запя¬той). Заголовок программы не обязателен и используется в декоративных це¬лях. Раздел указания используемых модулей начинается со служебного слова uses и имеет вид: uses <список идентификаторов^ Он предназначен для подключения стандартных модулей Турбо Паскаля (кроме модуля System) или модулей пользователя. Данный раздел в программе необязателен. Раздел описаний состоит из разделов • описаний меток (label), • описание констант (const), • описание типов (type), • описание переменных (var), • описание процедур (procedure) и функций (function). В скобках указаны служебные слова, с которых начинаются соответствующие разделы. Разделы описаний отделяются друг от друга ; (точкой с запятой). В Турбо Паскале порядок следования описаний меток, констант, типов и переменных произвольный. Однако перечисленные описания должны предшествовать описанию функций и процедур. Раздел операторов начинается со служебного слова begin. Операторы в теле программы разделяются ; (точкой с запятой). На одной строке можно расположить несколько операторов. Операторная часть программы заканчивается служебным словом end, после которого обязательно ставится точка. Кроме описанных выше основных разделов, программа может содержать раздел глобальных директив компилятора вида {$ ...}. Этот раздел располагается после заголовка программы. Ниже приведен пример программы вычисляющей площадь круга и длину окружности. {Определение площади круга и длины окружности} program skr; {Заголовок программы} uses crt; {Раздел указания используемых модулей} const pi = 3.14159 ; {Раздел описания констант} var г, с, s : real {Раздел описания переменных} begin clrcsr ; write ('Введите радиус круга в см - ' ) ; readln (г) ; с := 2 * р i* г ; {длина окружности} {Раздел } s: = pi * г * г ; {площадь круга} {операторов} writeln (' Площадь круга равна', s : 6 : 2 ,' кв.см '); writeln (' Длина окружности равна', с : 6 : 2 ,' см '); end. Процедуры и функции Подпрограмма — это часть программы, оформленная в виде отдельной синтаксической конструкции и снабженная именем. Для вызова подпрограммы, т.е. выполнения действий, заданных в подпрограмме, требуется в некоторой точке программы указать имя этой подпрограммы. Современный подход к разработке программ предлагает оформление в виде подпрограммы любого достаточно самостоятельного и законченного фрагмента программы. В языке Паскаль имеется два вида подпрограмм: процедуры и функции. Структура подпрограмм в Паскале совпадает со структурой программ и состоит из заголовка, раздела описаний и раздела операторов. Заголовок процедуры имеет вид: procedure <имя процедуры> (<список формальных параметров> : <тип> ; <список формальных параметров> : <тип> ; <список формальных параметров> : <тип>); В качестве формальных параметров используются параметры-значения, параметры-переменные (перед ними ставится служебное слово var), параметры- процедуры (перед ними должно стоять служебное слово procedure), параметры- функции (перед ними указывается служебное слово function). Процедура может не содержать параметров. В этом случае ее заголовок имеет вид: procedure <имя процедуры>;. Заголовок функции имеет вид: function <имя функции> (<список формальных параметров> : <тип> <список формальных параметров> : <тип> <список формальных параметров> : <тип>) : <тип> ; Он отличается от заголовка процедуры тем, что после закрывающейся круглой скобки указывается тип переменной — имя функции. Отличие от процедуры состоит также в том, что в исполнительной части функции обязательно должен присутствовать оператор присваивания типа: <имя функции> := <выражение>;. В разделе описаний процедуры или функции описываются переменные, константы, типы и т.д., которые используются только в данной процедуре. Они называются локальными. Раздел операторов подпрограммы, также, как и раздел операторов программы, начинается со служебного слова begin и заканчивается служебным словом end, только в конце за служебным словом end ставится точка с запятой. Процедура или функция вызывается главной программой или другой процедурой или функцией. При этом задаются значения параметров, которые используются в процедуре (функции). Эти параметры называются фактическими. Оператор вызова и выполнения процедуры имеет вид: <имя процедуры> (<список фактических параметров>); Количество фактических параметров и их порядок должны соответствовать количеству формальных параметров и их порядку. Соответствующие друг другу формальные и фактические параметры должны иметь один и тот же тип. Вызов функции производится не отдельным оператором, а входит в выражение, также, как при вызове стандартной функции. Например, функцию можно вызвать так: <имя переменной> := <имя функции> (<список фактических параметров>); Пример. Рассмотрим процедуру, вычисляющую значение п! (п! = 1-2- ... •п). procedure factl (n : integer, var у : integer); var i: integer ; begin y:=i; for i := 1 to n do у :=y * i; end; В программе, в которой описана данная процедура, вызвать процедуру factl можно так: factl (m, z); При этом переменные ш и z должны быть описаны следующим образом: var in, z : integer ; Функция, вычисляющая n!, описывается следующим образом. function fact2 (n : integer): integer ; var i, у : integer ; begin y:=i; for i := 1 ton do у :=y * i; fact2 := у end; Вызов функции можно осуществить так: z := fact2 (m).
0
|
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
31.05.2019, 09:22 | 4 |
У Вас какой Паскаль? В каком паскале Вы пишете на занятиях? Просто двойная точность это тип double в Турбо Паскале и Free Pascal, и тип real в Паскаль АВС и АВС.net. А также функции log10, power есть не во всех Паскалях. А справка по истории Паскаля и нафиг не нужна.
Добавлено через 1 минуту Задание явно из старого задачника по Турбо Паскаль.
1
|
0 / 0 / 0
Регистрация: 31.05.2019
Сообщений: 5
|
|
31.05.2019, 09:23 [ТС] | 5 |
Я на заочке , у нас не было информатики еще. Это эссе которое мы должны написать , все что было в условии я написал. Сам к программирования не имею никакого отношения , просто по программе должна быть
0
|
0 / 0 / 0
Регистрация: 31.05.2019
Сообщений: 5
|
|
07.06.2019, 10:31 [ТС] | 6 |
Так что , сможете помочь?
0
|
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
07.06.2019, 12:34 | 7 | |||||
Сообщение было отмечено nofale как решение
Решение
Формула хитрая, много ОДЗ.
Поскольку нужна двойная точность(тип double), а также функции tan,log10,power, напишем во Free Pascal. Даже не знаю все ли учел, тестируйте.
1
|
0 / 0 / 0
Регистрация: 31.05.2019
Сообщений: 5
|
|
07.06.2019, 13:01 [ТС] | 8 |
Посмотрим , что ответит преподаватель
0
|
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
07.06.2019, 13:03 | 9 |
Бок схема нарисована редактором FCEditor по коду программы.
1
|
0 / 0 / 0
Регистрация: 14.12.2019
Сообщений: 3
|
|
14.12.2019, 21:38 | 10 |
Puporev, приветствую тебя дорогой форумчанин, я очень слаб в паскале поможешь мне пожалуйста?
Составить блок схему алгоритма и программу для вычисления функции по формуле для произвольных исходных данных
0
|
14.12.2019, 21:38 | |
14.12.2019, 21:38 | |
Помогаю со студенческими работами здесь
10
Составить блок схему алгоритма и программу для вычисления функции по формуле, для произвольных исходных данных Составить блок-схему алгоритма и программу для вычисления функции по формуле для произвольных исходных данных Составить блок-схему алгоритма и программу для вычисления функции по формуле Составить блок схему алгоритма и программу для вычисления функции по формуле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |