Консультация № 139812
11.07.2008, 16:10
0.00 руб.
0 4 3
Здравствуйте!!! Помогите пожалуйста кто чем может!!!

Написать программу, которая рассчитывает общие затраты студента на питание в столовой (за месяц) и в среднем за день. Вводиться должны затраты по каждому дню за неделю.
Найти значение функции y = a cos bx + c, где a=1.5, b=2, c=-0.75. Значение x>0 (тип данных: Real) вводится с клавиатуры.

Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 10% предоставляется, если сумма покупки больше 1000 руб.

Написать программу, которая выводит таблицу квадратов первых десяти целых положительных чисел.

Найти сумму цифр числа и последнюю цифру числа.

Написать программу, которая проверяет, находится ли в массиве введенное с клавиатуры число. Массив должен вводится во время работы программы.

Заполнить массив по следующему правилу: элементы побочной диагонали равны 5, ниже побочной диагонали – 1, а выше – сумме индексов.

Найти сколько раз в тексте встречается буква «А».

Написать функцию, которая вычисляет объем цилиндра. Параметрами функции должны быть радиус и высота цилиндра.

Построить массив записей о сотрудниках предприятия. Каждая запись содержит поля – фамилия сотрудника, наименование отдела, размер заработной платы за месяц. Рассчитать для каждого сотрудника начисления в пенсионный фонд, из расчета 1% от размера заработной платы.

Спасибо!!!

Обсуждение

Неизвестный
11.07.2008, 18:24
общий
это ответ
<font color=blue><b>!!!</b></font>
Здравствуйте, Alex Logon !
Задачи 1, 2, 3, 4, 9 в приложении.
Удачи!!!
<p><fieldset style=‘background-color:#EFEFEF; width:80%; border:blue 1px solid; padding:10px;‘ class=fieldset><font color=blue><i>задача №4:
Целое число называется положительным, если оно больше нуля, отрицательным, если меньше нуля. Нуль не является положительным или отрицательным.<a href=http://ru.wikipedia.org/wiki/Целое_число>см. Материал из Википедии</a>

В этом цикле (for i:=0 to 9 do) параметры нужно увеличить на 1.</i>
-----
</font><font color=#777777 size=1><b>• Отредактировал: <a href=http://rusfaq.ru/info/user/31795 target=_blank>Зенченко Константин Николаевич</a></b> (Профессор)
<b>• Дата редактирования:</b> 11.07.2008, 23:31 (MCK)</font></fieldset>

Приложение:
{№1} var {Счетчик для цикла в котором считываются затраты} i: integer; {Sred-средняя за день,Obsh-общие затраты,n-временная переменная} sred, Obsh, n: real; begin {Обнуляем} Obsh:=0; {Цикл ввода затрат} for i:=1 to 31 do begin {Получаем данные} Write(‘День ‘, i, ‘: ‘); readLn(n); {Прибавляем к общим затратам} obsh:=Obsh+n; end; {Вычисляем среднее за день} sred:=Obsh/31; {Вывод} WriteLn(‘Общие затраты за месяц: ‘, Obsh:6:3, #13, #10, ‘В среднем за день: ‘, Sred:6:3); ReadLn; end. {№2} {y=a*cos b*x+c} const a=01.5; b=2; c=-0.75; var y, x: real; begin repeat Write(‘Введите x(x>0): ‘); readln(x); until x>0; y:=a*cos(b)*x+c; WriteLn(‘Ответ: ‘, y:6:3); readln; end. {№3} var st:real; begin Write(‘Введите сумму покупки: ‘); readln(st); if st>1000 then st:=st*0.9; Write(‘Стоимость со скидкой: ‘, st:6:3); readln; end. {№4} var i: integer; begin for i:=0 to 9 do WriteLn(i, ‘ в квадрате = ‘, i*i); readln; end. {№9} function V(const r, h: real): real; begin v:=pi*r*r*h; end; var r, h: real; begin Write(‘Введите радиус: ‘); ReadLn(r); Write(‘Введите высоту: ‘); ReadLn(h); Write(‘Объем: ‘, v(r, h):6:3); readln; end.
давно
Профессор
401888
1232
11.07.2008, 18:42
общий
это ответ
Здравствуйте, Alex Logon !
Задачи 5,7,8,10 с пояснениями в приложении.

Приложение:
Задача 5. uses crt; var A,u,sum:longint; begin clrscr; write(‘A=‘);readln(A); writeln(‘Poslednjaja cifra chisla A=‘,(A mod 10));{отделяем последнюю цифру} sum:=0; while A>0 do {пока А не равно 0} begin u:=A mod 10; { отделяем последнюю цифру } sum:=sum+u; {прибавляем ее к сумме} A:=A div 10; {пишем число без последней цифры} end; writeln(‘Summa cifr chisla A=‘,sum); readln end. Задача 7. uses crt; var a:array[1..20,1..20]of word; n,i,j:integer; begin clrscr; write(‘Vvedite razmernost massiva:‘); readln(n); writeln; for i:=1 to n do begin for j:=1 to n do begin if j=n-i+1 then a[i,j]:=5 {побочная диагональ} else if j<n-i+1 then a[i,j]:=i+j {выше побочной диагонали} else if j>n-i+1 then a[i,j]:=1; {ниже побочной диагонали} write(a[i,j]:3); end; writeln; end; readln end. Задача 8. uses crt; var s:string; i,k:integer; begin clrscr; write(‘Vvedite text:‘);readln(s); k:=0; for i:=1 to length(s) do {от 1 до конца строки, Length-длина} if (s[i]=‘A‘)or(s[i]=‘А‘)then {в латинской и русской раскладке} k:=k+1; writeln(‘Bukva A vstrechaetsa ‘,k,‘ raz‘); readln end. Задача 10. uses crt; type Tsotr=record {тип запись} fam:string[20]; {поля записи} otd:string[20]; zrp:integer; nch:real; end; var sp:array[1..100] of Tsotr; {массив записей} n,i:integer; begin clrscr; write(‘Vvedite kolichestvo sotrudnikov n=‘); readln(n); for i:=1 to n do begin writeln(‘Sotrudnik ‘,i); write(‘Familia: ‘);readln(sp[i].fam); {присваиваем значения полям} write(‘Otdel: ‘);readln(sp[i].otd); write(‘Zarplata: ‘);readln(sp[i].zrp); sp[i].nch:=sp[i].zrp*0.01; {определяем размер начислений} end; clrscr; writeln(‘Nachislenia v pensionnyj fond:‘); for i:=1 to n do writeln(sp[i].fam,‘ ‘,sp[i].nch:0:2); {выводим результат} readln end.
Неизвестный
11.07.2008, 19:14
общий
это ответ
<font color=blue><b>!!!</b></font>
Здравствуйте, Alex Logon !
Предлагаю свой вариант решения задач №№ 5,6,7,8.

Удачи!<p><fieldset style=‘background-color:#EFEFEF; width:80%; border:blue 1px solid; padding:10px;‘ class=fieldset><font color=blue><i>Эксперт невнимательно прочитал условие задачи №7, нужна побочная диагональ и условный оператор должен быть построен как у эксперта Пупорева Юрия Борисовича.
Невнимательность первым обнаружил выше названный эксперт.</i>
-----
</font><font color=#777777 size=1><b>• Отредактировал: <a href=http://rusfaq.ru/info/user/31795 target=_blank>Зенченко Константин Николаевич</a></b> (Профессор)
<b>• Дата редактирования:</b> 12.07.2008, 00:56 (MCK)</font></fieldset>

Приложение:
#5 var ch, sum: integer; {переменная ch будет содержать введённое с клавиатуры число, sum - сумма цифр числа ch} begin readln(ch); {считываем число} writeln(‘Last number is ‘, ch mod 10); {выводим на экран последнюю цифру (остаток от деления числа на 10)} sum:= 0; {изначально сумма цифр равна 0} {задаём цикл} While ch <> 0 do {до тех пор пока число не равно нулю, выполняем следующее ...} begin sum:= sum + ch mod 10; {к сумме цифр прибавляем остаток отделения числа ch на 10 (таким образом мы отделяем последнюю цифру числа ch)} ch:= ch div 10; {делим число ch на 10, опуская остаток} end; {цикл окончен} writeln(‘Sum of numbers is ‘, sum); {выводим на экран результат программы} readln; {ожидаем нажатия клавиши "Enter"} end. #6 const n = 5; {размерность массива} var ms: array [1..n] of integer; {собственно сам массив} i,ch: integer; {переменная i - индекс элементов массива, ch - число, вхождение в массив которого необходимо определить} rez: boolean; {результат (если TRUE - число входит в массив, если FALSE - нет)} begin write(‘Type your number now ‘); readln(ch); {считываем число для поиска его среди элементов массива} writeln(‘Input array now‘); rez:= true; {предполагаем, что результат поиска будет положительным} {задаём цикл заполнения массива и поиска в нём заданного числа} for i:=1 to n do begin readln(ms[i]); {считываем элемент массива с клавиатуры} rez:= rez and (ms[i] <> ch); {формируем результат} end; {завершаем цикл} writeln(not rez); {выводим на экран результат работы программы *см. пояснение результат выше*} readln; end. #7 const n = 6; {размерность массива} var ms: array [1..n, 1..n] of integer; {наш двухмерный массив} i,j: integer; {индексы элементов массива} begin for i:=1 to n do begin for j:=1 to n do begin if i=j then ms[i,j]:= 5; {если первый индекс равен второму, то элемент находится на диагонали} if i>j then ms[i,j]:= 1; {если первый индекс больше второго, значит элемент находится под диагональю} if i<j then ms[i,j]:= i+j; {элемент находится над диагональю, если первый индекс меньше второго} write(ms[i,j]:4); {выводим элемент матрицы на экран} end; writeln; {переходим на следующую строку экрана} end; readln; end. #8 var s: string; {наша строка} count: integer; {счётчик вхождений элемента "a" ( !!! латинская !!!) в строку s} begin readln(s); {считываем строку} count:= 0; {счётчик изначально равен нулю} if pos(‘a‘, s)<>0 then {если элемент "a" имеет место быть в строке s, то входим в цикл} Repeat delete(s, pos(‘a‘, s), 1); {удаляем элемент "a" из строки s} inc(count); {счётчик увеличиваем на единичку} Until pos(‘a‘, s)=0; {цикл выполняется до тех пор, пока в строке не останется ни единого элемента "a"} write(count); {выводим результат на экран} readln; end.
давно
Профессор
401888
1232
11.07.2008, 22:59
общий
To SHERRY. В задаче №7 товарища интересует побочная диагональ, а не главная.
Форма ответа