Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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 в 17:41.
Рітка-кулеметчиця вне форума   Ответить с цитированием
Старый 23.02.2009, 17:33   #2
XeN0N
Форумчанин
 
Аватар для XeN0N
 
Регистрация: 18.01.2009
Сообщений: 118
Репутация: 5
По умолчанию

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

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

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

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

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

Не знаете, как к ним подойти? Хорошо:
1. Здесь просто записать выражение на паскале.
2. Четность можно определить функцией odd() (возвращает true, если число нечетное).
Или так: если a mod 2 = 0, значит a - четное.
3. Алгоритм Евклида легко можно найти, например, в Википедии.
4. Тут вообще простая математика.
Sazary вне форума   Ответить с цитированием
Старый 23.02.2009, 18:01   #5
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,840
Репутация: 6850
По умолчанию

Рита начни с начала: вот например первое задание - формула то дана, вот и напиши прожку в которой будут функи сложения:
Код:
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));
Яснышко?
Stilet вне форума   Ответить с цитированием
Старый 23.02.2009, 18:03   #6
начинающий кодер
только учусь!
Форумчанин
 
Аватар для начинающий кодер
 
Регистрация: 08.02.2009
Сообщений: 124
Репутация: 68
По умолчанию

Алгоритм Евклида
Код:
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, 18:04   #7
Рітка-кулеметчиця
Заблокирован
 
Регистрация: 26.01.2009
Сообщений: 39
Репутация: 10
По умолчанию

Вроди да по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 в 10:21.
Рітка-кулеметчиця вне форума   Ответить с цитированием
Старый 24.02.2009, 01:31   #8
Sazary
В тени
Профессионал
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
Репутация: 999
По умолчанию

Много синтаксических ошибок, скобки стоят не там, где нужно.
Аргументы для функции 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, 01:36   #9
Рітка-кулеметчиця
Заблокирован
 
Регистрация: 26.01.2009
Сообщений: 39
Репутация: 10
По умолчанию

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


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

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

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

Например:
Код:
a := 55.123;
write(a:10:1);
выведет:
Код:
      55.1
===========
Поэкспериментируйте, чтобы лучше понять.
Sazary вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


16:32.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.