Технический форум
Вернуться   Технический форум > Программирование > Форум программистов


Ответ
 
Опции темы Опции просмотра
Старый 13.06.2010, 21:03   #1 (permalink)
кусака
Новичок
 
Регистрация: 13.06.2010
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy Подпрограммы и записи в паскаль

помогите пожалуйста!

1) заданы окружность (x-a)^2+(y-b)^2=r^2 и две точки p={p1,p2} и f(f1,f2} вычислить сколько точек лежит внутри окружности. проверку принадлежности точки к окружности оформить в виде функции.
данные: а=3.2, в=4.1 r=2. p,f - произвольно.

2)вычислить Z= (s1+s2)/(k1*k2), где s1,k1 - сумма и кол-во положительных элементов массива Х(n), s2,k2 - сумма и кол-во положительных эл-тов массива Y(m). вычисления суммы и кол-ва положительных элементов массива оформить как процедуру.
данные произвольные.

3) задачка на записи:
для каждого студента указаны фамилия имя и оценки по 3м дисциплинам. требуется вычислить средний бал каждого студента и упорядочить список по убыванию среднего бала. вывод на экран оформить в виде таблицы.
кусака вне форума   Ответить с цитированием

Старый 13.06.2010, 21:03
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Можно упростить решение вопроса путем просмотра схожих постов

Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Паскаль. Записи
Процедуры-подпрограммы-паскаль
Задание подпрограммы

Старый 13.06.2010, 21:48   #2 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

А почему бы вам самому не попробовать, и задать конкретные вопросы по тому, что не понятно, что не получается?
MrSTEP вне форума   Ответить с цитированием
Старый 13.06.2010, 22:02   #3 (permalink)
кусака
Новичок
 
Регистрация: 13.06.2010
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

хорошо. скажите как оформить в виде таблицы и отсортировать по убыванию?
кусака вне форума   Ответить с цитированием
Старый 13.06.2010, 22:08   #4 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

алгоритм сортировки простого массива знаете? вот и вся сортировка. А про вывод в виде таблицы, почитайте справку в паскале на процедуру gotoxy(x,y);
пример:
Код:
uses crt;
var i:word;
begin clrscr;
writeln ('Table');
for i:=1 to 3 do begin
 gotoxy(3,i+2);
 write ('Student', i);
 gotoxy (15,i+2);
 write ('Surname', i);
 gotoxy (25,i+2);
 write ('mark', i);
end;
gotoxy(1,i+4);
readkey;
end.

Последний раз редактировалось MrSTEP; 13.06.2010 в 22:17
MrSTEP вне форума   Ответить с цитированием
Старый 13.06.2010, 22:15   #5 (permalink)
NDV
Member
 
Аватар для NDV
 
Регистрация: 13.06.2010
Сообщений: 55
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 40
По умолчанию

Первая задача выглядит примерно так:
Код:
program z1;

type 
	point = record
		x, y: real;
	end;

const
	a = 3.2;
	b = 4.1;
	r = 2;

function proverka (p: point): boolean;
begin
	proverka:=false;
	if sqr(p.x-a)+sqr(p.y-b)<sqr(r) then
		proverka:=true;
end;

var
	p, f: point;
	n: integer;

begin
	writeln('Vvedtie koorinaty tochki p:');
	readln(p.x, p.y);
	writeln('Vvedtie koorinaty tochki f:');
	readln(f.x, f.y);
	n:=0;
	if proverka(p)=true then n:=n+1;
	if proverka(f)=true then n:=n+1;
	writeln('Kolichestvo tochek = ', n);
	readln
end.
Вроде проверил, все работает. Пользуйся, студент :-)
NDV вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 13.06.2010, 22:22   #6 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

приятно видеть, что одни новички помогают другим.. NDV, так держать
MrSTEP вне форума   Ответить с цитированием
Старый 13.06.2010, 22:25   #7 (permalink)
кусака
Новичок
 
Регистрация: 13.06.2010
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо)))
только еще скажите почему в последней строчке выдает 64 ошибку?

program ex18;
const n=3; {kol-vo predmetov}
type st=record
fam:string;
im:string;
oc:array[1..n] of integer;
end;
var j,k,i:integer;
t:array[1..30]of st;
begin
writeln('vvedite kol-vo studentov');
readln(k);
for i:=1 to k do
writeln('vvedite familii');
readln(t[i].fam);
writeln('vvedite ima');
readln(t[i].im);
writeln('ocenci');
for j:=1 to n do
readln(t[j].oc);
кусака вне форума   Ответить с цитированием
Старый 13.06.2010, 22:29   #8 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

ос - массив, значит и вводить надо соответственно - oc[i]
MrSTEP вне форума   Ответить с цитированием
Старый 13.06.2010, 22:31   #9 (permalink)
NDV
Member
 
Аватар для NDV
 
Регистрация: 13.06.2010
Сообщений: 55
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 40
По умолчанию

А программа здесь специально не вся? И в цикле че-то не понял, где фамилии заполняются: там операторных скобок нету
NDV вне форума   Ответить с цитированием
Старый 13.06.2010, 22:32   #10 (permalink)
кусака
Новичок
 
Регистрация: 13.06.2010
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо)

Последний раз редактировалось кусака; 13.06.2010 в 22:41
кусака вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

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

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




Часовой пояс GMT +4, время: 19:35.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.