Здравствуйте не могли бы вы помочь решить эдак полторы задачи на паскале?
Заранее спасибо..
Вот первое задание с которым мне удалось справиться
Задание 1.Разветвляющийся алгоритм.Цель задания:
Выбор конкретного вида функций А(х, р) и В(х, р) определяется номером варианта (см. табл. 1).
Обратите внимание, что расчет по формуле не всегда возможен (знаменатель
Чтобы избежать таких неприятностей, внимательно проанализируйте Ваше задание, выявите все случаи, исключающие проведение расчета, и постройте алгоритм таким образом, чтобы при их возникновении вместо результата выводилось диагностическое сообщение. Например: «Расчет невозможен. В знаменателе ноль». Контрольные данные подберите так, чтобы проверялось действие программы во всех аварийных ситуациях.
Таблица 1. Варианты задач (к заданию 1)
Далее во втором задании надо модернизировать первую программу.
Это удалось мне сделать только на половину и чуть больше..
но, к сожалению охватил ступор и не знаю, что делать..
Очень вас прошу, помогите пожалуйста с остальными заданиями..
Вот код программы что у меня получилось сделать.
program blabla2;<br />var tg,m,temp: real;<br />s:array [1..10] of string;<br />c,x,p:array [1..10] of real;<br />n,i:integer;<br />begin<br />Writeln ('Vvedite kol-vo par'); <br />readln (n);<br />for i:=1 to n do<br />Begin<br />Writeln ('Vvedite znacheniya X,P');<br /><br />readln (x[i]);<br />Readln (p[i]);<br />end;<br /><br />For i:=1 to n do<br />begin<br /><br /> if 2*x[i]*x[i]-p[i] < 0<br /> then s[i]:= 'koren iz otricatelnogo'<br /> Else if (x[i])+(p[i])=0 then s[i]:= 'logarifma ne sushestvuet'<br /> else begin<br /> temp:=ln(sqr((x[i])+(p[i])))-((x[i])*(x[i]))*((p[i])*(p[i])*(p[i])*(p[i]));<br /> if cos(temp)=0<br /> then s[i]:= 'tangens ne sushestvuet'<br /> else if sin(temp)=0<br /> then s[i]:= '0 v znamenatele'<br /> else begin tg:=sin(temp)/cos(temp);<br /> c[i]:=((3*x[i]*x[i]*x[i])*(p[i]*p[i])-(sqrt(2*x[i])*x[i])-(p[i]))/tg;<br /> Writeln (c[i]);<br /> end;<br /> end;<br />end.И вот задание 2.Задание 2.циклический алгоритм.При выполнении первого задания для проведения очередного расчета требовалось заново запускать программу. На практике, однако, расчеты чаще всего проводятся для групп исходных данных.
Модифицируйте Вашу программу таким образом, чтобы она вводила указанное количество пар значений X и Р, и лишь после этого выполняла расчеты и печатала результаты. Результаты печатайте в вида таблицы, например такой:
Х
Р
С(x, р)
Примечание
3.271
-.0634
В знаменателе ноль
5.039
1.487
16.832
10.664
-5.208
Под логарифмом отрицательное число
Кроме того, Ваша программа должна при выводе результатов упорядочить их в соответствии с требованиями Вашего варианта (см. табл. 2).
Совет: не пытайтесь сразу создать программу, удовлетворяющую всем требованиям этого задания. Выполните работу в несколько этапов:
а) подготовьте программу, которая будет вводить несколько пар значений X и Р, а затем рассчитывать и печатать результаты в той форме, как это осуществлялось ранее. Для хранения значений X, Р и С(х, р) обязательно используйте массивы — без них Вам не обойтись. При вводе числа пар X и Р проверьте, поместятся ли они в массивы выбранной размерности;
б) включите в программу фрагмент, упорядочивающий перед печатью результаты нужным образом;
в) организуйте вывод результатов в виде таблицы.
Не переходите к следующему этапу, пока не выполните требований предыдущего!
№
Характер расположения результатов в таблице
1.
В порядке увеличения суммы абсолютных величин X и Р.
А если для вам это не будет сложно, и не доставит особых усилий,
Можете что ниибудь подсказать со следующим заданием?
Задание 3.Многомерные массивы.Задачу, которая предлагается Вам, часто называют табулированием функции, поскольку она связана с составлением таблицы значений функции, соответствующих определенным значениям аргумента.
Первая часть Вашего задания — подготовка программы, табулирующей функцию С(х, р) Вашего варианта при изменении значения аргумента X от значения xl до значения х2 с шагом Нх и аргумента Р — от p1 до р2 с шагом Нр. Результаты напечатайте в виде таблицы-матрицы:
Х / Р
7.425
7.450
7.475
7.500
7.525
7.550
7.575
3.50
-.0634
*
3.581
4.145
6.524
8.745
12.659
5.00
1.487
16.832
-8.245
-5.434
*
*
4.326
6.50
-5.208
**
**
8.987
15.782
68.547
124.317
* — В знаменателе ноль
** — Под логарифмом отрицательное число
Совет:
Второй частью Вашего задания будет работа с матрицей значении функции С(х, р). Что именно требуется сделать, Вы узнаете из таблицы 3, выбрав оттуда задачу с номером варианта.
№
Содержание задачи
1.
Вычислить сумму и произведение ненулевых элементов матрицы, у которых совпадают номер строки и столбца, в которых они находятся.
|
|
|
Похожие вопросы |