Консультация № 143601
10.09.2008, 20:42
0.00 руб.
0 5 3
Здравствуйте! Помогите пожалуйста написать следующие программы:

1 Написать программу, определяющую сколько времени в целом за семестр по каждой дисциплине должно отводиться студентом на домашнюю подготовку (в часах), при условии, что самостоятельная работа студента составляет 30% от объема аудиторных часов по дисциплине. Рассчитать, сколько в среднем каждый день студент должен отводить времени на домашнюю подготовку.
2 Найти значение функции
где a= 0.5, b=1.3. Значение x>0 (тип данных: Real) вводится с клавиатуры.
3 Написать программу, которая выводит пример на вычитание, запрашивает ответ пользователя, проверяет его и выводит сообщение "Правильно!" или "Вы ошиблись" и правильный результат.
4 Написать программу, которая вводит с клавиатуры 5 дробных чисел и вычисляет их среднее арифметическое.
5 Найдите все двузначные числа, сумма цифр которых не меняется при умножении числа на 2, 3, 4, 5, 6, 7.
6 Написать программу, которая определяет количество студентов в группе, чей рост превышает средний.
7 Найти количество положительных элементов двумерного массива, кратных 5.
Спасибо!

Обсуждение

Неизвестный
10.09.2008, 20:50
общий
2. а какая именно функция?
Неизвестный
10.09.2008, 21:04
общий
это ответ
Здравствуйте, Polmer12!
3.
Код:
 var
a,b,rez: integer;
begin
randomize; {запускаем генератор случайных чисел}
a:=random(100); b:=random(100); {числа а и b генерируются на промежутке [0;100)}
writeln(a,' - ',b,' = ???'); {выводим пример на экран}
readln(rez); {запрашиваем ответ от пользователя}
writeln(rez=(a-b)); {сравниваем на правильность}
writeln(a-b); {выводим правильный вариант}
readln;
end.



7.
Массив составляется из случайно сгенерированных целых чисел из промежутка [-30; 101)
Код:
 const
n = 5;
var
ms: array [1..n, 1..n] of integer;
i,j,count: integer;
begin
randomize;
count := 0; {эта переменная будет "подсчитывать" количество элементов массива, удовлетворяющих Вашему условию}
for i:=1 to n do
begin
for j:=1 to n do
begin
ms[i,j] := random(101) - 30; {заполненяем ячейку массива}
if (ms[i,j] > 0) and (ms[i,j] mod 5 = 0) {проверяем число на положительность и делимость на 5 без остатка}
then inc(count); {если результат условия удовлетворительный, то увеличиваем значение переменной count на единичку}
write(ms[i,j]:4); {выводим элемент массива на экран}
end;
writeln; {после того, как один ряд массива выведен на экран, переходим на следующую строку}
end;
writeln; {пропускаем строку}
writeln(count); {выводим на экран показание счётчика}
readln;
end.
давно
Старший Модератор
31795
6196
10.09.2008, 21:18
общий
ualife:
какая разница, главное найти её значение.

Думаю там , что-то вроде: Y=a*F(х) + b.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
10.09.2008, 22:28
общий
это ответ
Здравствуйте, Polmer12!
Задача №5 с комментариями в приложении.
Удачи!!!


Приложение:
{Вычисляет сумму цифр числа n}
function SumNum(n: integer): integer;
var
{Сумма}
sum: integer;

begin
{Обнулим сумму}
sum:=0;
{Пока не обработали все число}
while (n > 0) do
begin
{Прибавляем к сумме последнюю цифру}
inc(sum, n mod 10);
{убираем последнюю цифру у числа}
n:=n div 10;
end;
SumNum:=sum;
end;

var
{i, j-нужны для циклов For}
i, j: byte;
{Если равна true, то число удовлетворяет условию, иначе не удовл.}
SumCh: boolean;

begin
{Для положительных всех двузначных чисел}
for i:=10 to 99 do
begin
{По умолчанию число удовл. условию}
SumCh:=true;
{В цикле проверяем условие}
for j:=2 to 6 do
{Если оно не верно, то устанавливаем SumCh в false и выходим из цикла}
if SumNum(i) <> SumNum(i*j) then
begin
SumCh:=false;
break;
end;
{После проверки условия, проверяем число удовлетворяет условию? Да - выводим его и его противоположенное число}
if SumCh then
Write(i, ', ', -i, ', ');
end;
Readln;
end.
Неизвестный
10.09.2008, 23:40
общий
это ответ
Здравствуйте, Polmer12!
• 2. К сожалению вы не указали саму функцию
Код:
program E2;
var a,b,x,y:real;
begin
a:=0.5; {Наши переменные}
b:=1.3;
readln(x); {Ждем ввода значения x}
if x<=0 then writeln('Error') {Если x<=0, то ввыводим сообщение 'Error'}
else {Если x>0}
begin
y:=a*(x+1)+b; {Замените нужной формулой. Не забывайте, что символ * - символ умножения, / - символ деления, sqr - квадрат числа (например, sqr(5))}
writeln(y); {Выводим значение y}
end;
end.

• 4.
Код:
program E4;
var a: array [1..5] of real;
var s: real;
begin
readln(a[1],a[2],a[3],a[4],a[5]); {просим пользователя ввести числа}
s:=(a[1]+a[2]+a[3]+a[4]+a[5])/5; {вычисляем среднее арифметическое}
writeln(s); {выводим}
end.

• 5.
Код:
program E5;
var i,j,z,x,ch,a,b,c: integer;
begin
for i:=1 to 9 do {i - количество десятков числа}
begin
for j:=0 to 9 do {j - количество едениц числа}
begin
z:=0; {z - дополнительная переменная}
for x:=2 to 7 do {в переменную x подставляются числа от 2 до 7}
begin
ch:=(10*i+j)*x; {ch - новое число}
a:=trunc(ch/100); {a - кол-во сотень нового числа}
b:=trunc(ch/10)-a*10; {b - количество десятков нового числа}
c:=ch-a*100-b*10; {c - количество едениц нового числа}
if (a+b+c)=i+j then z:=z+1 {если суммы цифр нового и старого числа совпадают, то добавить к переменной z еденицу}
end;
if z=6 then writeln(10*i+j, ', ', -(10*i+j), '.'); {если в переменной z - 6, то выводим число}
end;
end;
readln(z)
end.

• 6.
Код:
program e6;
const n=3; {Задаем кол-во студентов}
var a: array [1..n] of real;
var i:integer;
var d:real;
var x:integer;
begin
writeln('Введите рост каждого студента по списку:');
for i:=1 to n do
begin
write(i, ' ');
readln(a[i]); {Считываем рост каждого студента}
d:=d+a[i];
end;
d:=d/n; {Вычисляем среднее арифметическое}
for i:=1 to n do if a[i]>d then x:=x+1; {Если у студента рост больше среднего, то добавляем к x еденицу}
writeln('У стольких студентов рост превышает среднего: ', x)
end.

Удачи!
Форма ответа