Тема::: – Оператор цикла
2)Составить программу запрашивающию пароль пользователя. В счучае правильности пароля вывести фразу "можно приступать к работе"
3) 1/(2*3*4)+2/(3*4*5)+3/(4*5*6)+..
правда такое не умею!!кто умеет помогите
Тема::: – Оператор цикла
2)Составить программу запрашивающию пароль пользователя. В счучае правильности пароля вывести фразу "можно приступать к работе"
3) 1/(2*3*4)+2/(3*4*5)+3/(4*5*6)+..
правда такое не умею!!кто умеет помогите
Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.
29 марта 2010 в 16:05
помогите решить лабу плз
Тема: Обработка массивов в программе на TurboPascal 7.0
Цель работы: Изучение возможностей обработки одномерных массивов
1)N=18 Все элементы с нечетными номерами заменить их квадратами.
2)Определить содержит ли массив элементы, равные максимальному элементу.
3)Найти номер первого и последнего положительного элемента.
6 марта 2010 в 0:00
cпасибо)))
5 марта 2010 в 23:01
Может быть, я лучше к третьей комментарии напишу?:-) А то проще уже некуда.
uses crt; //Подключение модуля CRT. Нужен для функции readkey.
var //Начало раздела описания переменных.
total : real; //Переменная, в которой будет храниться сумма ряда – вещественное число.
mul : longint; //В этой переменной будет храниться значение знаменателя каждого члена ряда.
counter, sub_count : word; //счетчики внешнего и внутреннего циклов
.
begin
total:=0; //Обнуление суммы. На всякий случай.
for counter:=1 to 1500 do //Счетчик циклически меняется от 1 до 1500. Одновременно он является числителем каждого члена ряда.
begin //Начало тела внешнего цикла.
mul:=1; //Перед расчетом знаменателя заносим в него число 1. Если на эту переменную умножить несколько чисел подряд, то в ней будет произведение этих чисел.
for sub_count:=counter+1 to counter+3 do //Внутренний цикл от значения числителя+1 до значения числителя+3. counter – это и есть числитель.
mul:=mul*sub_count; //Тело внутреннего цикла, в котором и производится умножение.
total:=total+(counter/mul); //Подсчет общей суммы – к сумме прибавляется числитель (counter), деленный на знаменатель (mul), который был подсчитан в предыдущих двух строках.
writeln(total:8:5); //Это лишняя строка, она не повлияет на правильность программы:-) Её желательно удалить.
end; //Конец внешнего цикла.
writeln('total = ',total:12:5); //Вывод результата в виде десятичной дроби – 12 символов на все число, 5 символов после запятой.
readkey;
//Задержка программы до нажатия пользователем любой клавиши.
end.
Идея работы программы – посчитать сумму ряда.
Так как ряд убывающий и сходящийся, то для достижения заданной точности достаточно 1500 членов ряда.
Число 1500 подобрано экспериментально. Если взять, например, 10000 членов ряда, то за 10000 вычислений накопится ошибка округления. Да и 1500й член ряда уже достаточно мал, чтобы оказать какое-то влияние на результат вычислений.
Если тут что-то непонятно, то напиши, что именно непонятно, уж попробую объяснить.
5 марта 2010 в 22:01
вторую сделал!
а вот 3-ия у тебя мне не вся понятна! я до многого не дошел еще и препод не поймет! можно попроще слишком запутана)
спс за сторание)))
5 марта 2010 в 21:05
Прога 2 – ввод пароля
uses crt;
const
real_password = 'bash1234';
max_wrong_counter = 5;
var
password:string;
wrong_counter:integer;
begin
wrong_counter := 0;
repeat
if wrong_counter = max_wrong_counter
then
begin
writeln('5th password try os over.');
writeln('You can''t continue working.');
readkey;
halt;
end;
password:='';
writeln('input a password');
readln(password);
inc(wrong_counter);
until password=real_password;
writeln('You can work now');
readkey;
end.
5 марта 2010 в 21:05
Прога 3 – вычисление суммы ряда.
Её можно было и по-другому сделать – цикл с постусловием, проверяющий сходимость ряда с заданной фиксированной точностью. Но цикл с постусловием был в предыдущей задаче; в этой, наверное, надо было реализовать другой вид цикла или даже вложенные циклы.
uses crt;
var
total : real;
mul : longint;
counter, sub_count : word;
begin
total:=0;
for counter:=1 to 1500 do
begin
mul:=1;
for sub_count:=counter+1 to counter+3 do
mul:=mul*sub_count;
total:=total+(counter/mul);
writeln(total:8:5);
end;
writeln('total = ',total:12:5);
readkey;
end.
22 мая 2021 в 12:41
Ответ Роману Викровичу:
1) один из вариантов решения
for i:=1 to 18 do
if i=(i mod 2=0) then a[i]:=a[i]*a[i];
for i:=1 to 18 do
write (a[i]:4);
Должно работать, можно оформить в процедуре:)
2)
a[1]:=max;
for i:=2 to n do
if a[i]>max then max:=a[i];
for i:=1 to n do
if a[i]=max thenwriteln(a[i]);
3)
for i:=1 to n do {поиск первого положительного}
if a[i]>0 then
begin
x:=i;
break;
end;
for i:=n downto 1 do {поиск номера последнего положительного}
if a[i]>0 then
begin
y:=i;
break;
end;
writeln('Номер первого положительного ',x);
writeln('Номер последнего положительного ',y);