Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2009, 16:29   #1
Рітка-кулеметчиця
Заблокирован
 
Регистрация: 26.01.2009
Сообщений: 39
Печаль Подпрограми на Паскал

1.Рассчитать значение y, выполняя однотипные действия с использованием соответствующей функции:
y=((2+sin3)/(3+sin2))+((1+sin5)/(sin1+5))+((sin7+4)/(sin3+7))
2.Даны две последовательности целых чисел: а1, а2, ...,а8 и b1, b2, ..., b8. Найти количество четных чисел в первой из них и количество нечетных во второй, определив функцию, позволяющую распознавать четные числа.
3.Даны n натуральных чисел. Найти их наибольший общий делитель, учитывая, что НОД(а, b, с)=НОД(НОД(а, b), с).
При решении определите функцию для расчета наибольшего общего делителя двух натуральных чисел, используя алгоритм Евклида.
4.Даны основания и высоты двух равнобедренных трапеций. Найти сумму их периметров и сумму их площадей,
определив процедуру для расчета периметра и площади равнобедренной трапеции по ее основаниям и высоте.
плззззззз!!!

Последний раз редактировалось Рітка-кулеметчиця; 23.02.2009 в 16:41.
Рітка-кулеметчиця вне форума Ответить с цитированием
Старый 23.02.2009, 16:33   #2
XeN0N
Форумчанин
 
Аватар для XeN0N
 
Регистрация: 18.01.2009
Сообщений: 118
По умолчанию

где ваш код? пока что я вижу только элементарное задание, скопированное даже без редактирования переносов
XeN0N вне форума Ответить с цитированием
Старый 23.02.2009, 16:42   #3
Рітка-кулеметчиця
Заблокирован
 
Регистрация: 26.01.2009
Сообщений: 39
По умолчанию

где ваш код? пока что я вижу только элементарное задание, скопированное даже без редактирования переносов

в тот то и проблема что я я даже не знаю как к ним подойти

Последний раз редактировалось Рітка-кулеметчиця; 23.02.2009 в 16:47.
Рітка-кулеметчиця вне форума Ответить с цитированием
Старый 23.02.2009, 16:54   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Рітка-кулеметчиця Тогда вам сюда:
Полезная литература. Паскаль
Правила раздела.

Не знаете, как к ним подойти? Хорошо:
1. Здесь просто записать выражение на паскале.
2. Четность можно определить функцией odd() (возвращает true, если число нечетное).
Или так: если a mod 2 = 0, значит a - четное.
3. Алгоритм Евклида легко можно найти, например, в Википедии.
4. Тут вообще простая математика.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.02.2009, 17:01   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Рита начни с начала: вот например первое задание - формула то дана, вот и напиши прожку в которой будут функи сложения:
Код:
function add(a,b:real):real; begin add:=a+b; {сложение}
function divA(a,b:real):real; begin divA:=a/b; {сложение}
Далее например часть твоей формулы (2+sin3)/(3+sin2)так:
Код:
s:=diva(add(2+sin(3)),add(3+sin(2));
Яснышко?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.02.2009, 17:03   #6
начинающий кодер
только учусь!
Форумчанин
 
Аватар для начинающий кодер
 
Регистрация: 08.02.2009
Сообщений: 124
По умолчанию

Алгоритм Евклида
Код:
procedure Nod(var a:integer;var b:integer;var del:integer);
var
ost:integer;
begin
repeat

ost:=a mod b;
a:=b;
b:=ost;
if b<>0 then del:=ost;

until ost=0 ;
end;
«Я знаю, что ничего не знаю, но многие не знают и этого».
начинающий кодер вне форума Ответить с цитированием
Старый 23.02.2009, 17:04   #7
Рітка-кулеметчиця
Заблокирован
 
Регистрация: 26.01.2009
Сообщений: 39
По умолчанию

Вроди да по1. а можеш натолкнуть на правильну мисль и в 2,3,4 задачах.

Вот но 1 только викада "indentifier expexted":
Код:
Program proba;
var
function divA(a,b:real)real;
begin
divA:=a/b;
end;
function add(a,b:real):real;
begin
add:=a+b;
end;
s:=divA(add(2+sin(3)),add(3+sin(2))+divA(add(1+sin(5))),add(sin(1)+5))+divA(add(sin(7)+4)),add(sin(3)+7);
writeln('znachnya y= ')
readln;
end.

Последний раз редактировалось Stilet; 24.02.2009 в 09:21.
Рітка-кулеметчиця вне форума Ответить с цитированием
Старый 24.02.2009, 00:31   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Много синтаксических ошибок, скобки стоят не там, где нужно.
Аргументы для функции add нужно прописывать через запятую (у вас через знак "+").
И еще забыть begin для главной функции.

Исправлено:
Код:
Program proba;
uses crt;
var s : real;

function divA(a,b:real) : real;
 begin
 divA:=a/b;
 end;
function add(a,b:real) : real;
 begin
 add:=a+b;
 end;

begin
clrscr;
s:=divA(add(2,sin(3)),add(3,sin(2)))+divA(add(1,sin (5)),add(sin(1),5))+divA(add(sin(7),4),add(sin(3),7));
writeln('znachnya y= ',s:10:7);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 24.02.2009, 00:36   #9
Рітка-кулеметчиця
Заблокирован
 
Регистрация: 26.01.2009
Сообщений: 39
По умолчанию

Sazary;
writeln('znachnya y= ',s:10:7);


Почему так прописуют обясните мне потому что много раз видела но так и не поняла шо за хрень. Ну writeln-оператор виведення а s:10:7 что делает?

Последний раз редактировалось Рітка-кулеметчиця; 24.02.2009 в 00:46.
Рітка-кулеметчиця вне форума Ответить с цитированием
Старый 24.02.2009, 00:41   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Это для форматирования вывода. В общем виде:
Код:
writeln(number : width : precision)
number - число
width - ширина поля вывода
precision - количество знаков после запятой (этот параметр можно опускать)

Например:
Код:
a := 55.123;
write(a:10:1);
выведет:
Код:
      55.1
===========
Поэкспериментируйте, чтобы лучше понять.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскал файл изменение записи sancho-spb Помощь студентам 1 29.04.2008 13:27