ПОМОЩЬ по: Информатике
- Маша...но не ваша!
- Новичок
- Сообщения: 16
- Зарегистрирован: Пн ноя 06, 2006 6:07 pm
- Откуда: с севера=)
- Контактная информация:
Девчонки помогите пожайлуйста!
Я написала проект на тему "Культурный шок", теперь нужно сделать презентацию в "Power Point".
Подскажите какие картинки можно использовать для такого проекта?
Может у кого-то есть картинки людей восхищающихся красотами заграничных пейзажей или же наоборот картинки отражающие одиночества человека в большом городе?
Я написала проект на тему "Культурный шок", теперь нужно сделать презентацию в "Power Point".
Подскажите какие картинки можно использовать для такого проекта?
Может у кого-то есть картинки людей восхищающихся красотами заграничных пейзажей или же наоборот картинки отражающие одиночества человека в большом городе?
- Linux forever!
- Втянувшийся
- Сообщения: 425
- Зарегистрирован: Сб май 31, 2008 7:59 pm
- Откуда: Харьков, Украина / Москва, РФ
- Контактная информация:
Фанатка Пустоты! писал(а):Кто-нибудь решает задачи в Паскаль? Помогите, пожалуйста:
Дано натуральное число n. Найти знакочередующуюся сумму цифр числа n.
Задача крайне простая и понятная. Берём цифры десятичной записи числа и считаем знакопеременную сумму. Алгоритм такой:Фанатка Пустоты! писал(а):запись n в десятичной системе есть ak ak-1...a0; найти ak-ak-1+...+(-1)ka0).
Вводим число n. Производим инициализацию (значения станут понятны из дальнейшего). В переменной b храним число после отрезания последних цифр от исходного числа. Пока число b не ноль, продолжаем отрезать цифры. Цифру отрезаем путём нахождения остатка от деления на 10. Храним эту цифру в r. Переменная sign отвечает за знак. Значение либо 1, либо -1. Домножаем цифру на знак и прибавляем к сумме sum. В переменной k считаем, сколько было цифр. Затем не забываем разделить b на 10, чтобы отбросить обработанную цифру. После выхода из цикла получаем сумму. Однако мы чередовали знаки, начиная со знака + перед последней цифрой числа. А по условию знак + стоит перед первой. Если цифр нечётное количество, то знак + будет и перед первой цифрой, и перед последней. значит, мы всё посчитали правильно. Если цифр было чётное количество, то мы всё знаки ставили с точностью до наоборот. Поэтому проверяем значение k (количество цифр в числе). Если оно чётное, до домножаем сумму (sum) на -1. Теперь мы нашли ответ. Печатаем его на экран и завершаем программу.
Вот сам код на языке Pascal:
Код: Выделить всё
{This program is written by Linux forever!}
program Linux_forever;
var n:integer; {the entered number}
b:integer; {first numbers left}
r:integer; {current last digit}
sign:integer; {sign "+" or "-"}
k:integer; {number of digits}
sum:integer; {current sum}
begin
{reading the number}
write('Enter the number: ');
readln(n);
{initialization}
sum:=0;
b:=n;
sign:=1;
k:=0;
{counting}
while b>0 do
begin
r:=b mod 10;
k:=k+1;
r:=r*sign;
sign:=sign*(-1); {sign inversion}
sum:=sum+r;
b:=b div 10;
end;
{checking the sign}
if k mod 2 = 0 then
sum:=sum*(-1);
{printing the result}
writeln('Result: ', sum);
end.
Linux forever!
- Linux forever!
- Втянувшийся
- Сообщения: 425
- Зарегистрирован: Сб май 31, 2008 7:59 pm
- Откуда: Харьков, Украина / Москва, РФ
- Контактная информация:
Генетический алфавит - это алфавит, который состоит из четырёх букв — азотистых оснований аденина (А), цитозина (С), гуанина (G) и тимина (Т).KISSА писал(а):Девченки помогите пожалуйста! Мне задали по информатике доклад на тему "Генетический алфавит" Шокирован .. а я даже не знаю что это такое!!! Embarassed
Linux forever!
- Linux forever!
- Втянувшийся
- Сообщения: 425
- Зарегистрирован: Сб май 31, 2008 7:59 pm
- Откуда: Харьков, Украина / Москва, РФ
- Контактная информация:
- Confessionelle
- Втянувшийся
- Сообщения: 442
- Зарегистрирован: Сб янв 05, 2008 9:13 pm
- Контактная информация:
- Linux forever!
- Втянувшийся
- Сообщения: 425
- Зарегистрирован: Сб май 31, 2008 7:59 pm
- Откуда: Харьков, Украина / Москва, РФ
- Контактная информация:
Я могу запросто написать указанную программу на языках Pascal, C, C++, PHP, Assembler, но к сожелению вообще не знаю Visual Basic. Благодаря тому, что я умею программировать и отлично понимаю, что для решения этой задачи есть два возможных различных подхода, а также знаю реализацию обоих алгоритмов, я гарантирую, что алгориты привёл правильно. А сам код я нашёл в Интернете, так как не знаю синтаксис VB, но ведь всё аналогично. Просто мне в Linux его даже нечем проверить (вдруг опечатка в каком-то символе). Но надеюсь, что ты у себя проверишь.
Первый способ вычислить факториал рекурсивным аглоритмом (функция вызывает сама себя) по формуле F(n) = n * F(n-1), где 0!=1.
Второй способ вычислить факториал в цикле (перемножить все числа от 1 до n).
Что понимается под блок-схемой? Я могу прокоментировать любую (каждую) строку кода в обоих случаях, если это будет необходимо. Разбирайся, проверяй, задавай вопросы. Обязательно всё объясню и исправлю, если что-то будет не так.
PS Спасибо за вопросы. Давно уже никто не интересовался Учёбой.
Первый способ вычислить факториал рекурсивным аглоритмом (функция вызывает сама себя) по формуле F(n) = n * F(n-1), где 0!=1.
Код: Выделить всё
Public Function FactorialRecursion&(N%)
' вычисление факториала методом рекурсии
If N% = 0 Then ' Завершаем рекурсию - 0!
FactorialRecursion& = 1 ' 0! = 1
Else ' продолжаем рекурсию
FactorialRecursion& = N% * FactorialRecursion&(N% - 1)
End If
End Function
Код: Выделить всё
Public Function Factorial&(N%)
' вычисление факториала в цикле
Dim Fact&, i%
Fact& = 1
If N% > 1 Then ' нетривиальный вариант
For i% = 2 To N%
Fact& = Fact& * i%
Next
End If
Factorial& = Fact&
End Function
PS Спасибо за вопросы. Давно уже никто не интересовался Учёбой.
Linux forever!
- Confessionelle
- Втянувшийся
- Сообщения: 442
- Зарегистрирован: Сб янв 05, 2008 9:13 pm
- Контактная информация:
Это тебе спасибо) У нас иформатичка жесть, ничего не объясняет и сама не понимает, а мы должны делать
За приведенные алгоритмя спасибо)
А блок-схема - вот тут про ни написано - http://mini-soft.ru/soft/vba/r_2.php
За приведенные алгоритмя спасибо)
А блок-схема - вот тут про ни написано - http://mini-soft.ru/soft/vba/r_2.php
- Linux forever!
- Втянувшийся
- Сообщения: 425
- Зарегистрирован: Сб май 31, 2008 7:59 pm
- Откуда: Харьков, Украина / Москва, РФ
- Контактная информация:
Всегда пожалуйста.
На форуме трудно рисовать блок-схему, её проще в тетеради сделать.
В коде итак подробно вс прокомментировано. Нужно лишь знать оператор присваивания, условный оператор и цикл For. Если ты это знаешь, тебе должно быть всё понятно, если не знаешь, спрашивай, я обязательно объясню.
В первом алгоритме, рисуешь проверку условия, которое написано в операторе IF, в одном случае функция возвращает 1 (когда N=0, т.к. 0!=1), а в другом случае она возвращает произведение N на результат самой себя с параметром N-1, т.к. N!=N * (N-1)! Это рекурсивный алгоритм. Спрашивай, если что-то непонятно.
Во втором аглоритме мы присваиваем В переменную 1. Проверяем, что N>1 (если не больше, то ничего не делаем), если больше то в цикле For домножаем нашу переменную на i, где i принимает последовательно значения от 2 до N. В итоге в нашей переменной будет произведение чисел от 1 до N, то есть N! В конце возвращаем эту переменную в качестве результата функции. Спрашивай, если что-то непонятно.
Я надеюсь, что такого описания тебе достаточно, чтобы нарисовать блок-схему. Если тебе удастся даже выложить её на форум, я смогу проверить тебя.
В общем, задавай вопросы, пиши решения, я подскажу, проверю, помогу.
Если будут ещё задачи, которые ты не сможешь решить, обращайся за помощью.
На форуме трудно рисовать блок-схему, её проще в тетеради сделать.
В коде итак подробно вс прокомментировано. Нужно лишь знать оператор присваивания, условный оператор и цикл For. Если ты это знаешь, тебе должно быть всё понятно, если не знаешь, спрашивай, я обязательно объясню.
В первом алгоритме, рисуешь проверку условия, которое написано в операторе IF, в одном случае функция возвращает 1 (когда N=0, т.к. 0!=1), а в другом случае она возвращает произведение N на результат самой себя с параметром N-1, т.к. N!=N * (N-1)! Это рекурсивный алгоритм. Спрашивай, если что-то непонятно.
Во втором аглоритме мы присваиваем В переменную 1. Проверяем, что N>1 (если не больше, то ничего не делаем), если больше то в цикле For домножаем нашу переменную на i, где i принимает последовательно значения от 2 до N. В итоге в нашей переменной будет произведение чисел от 1 до N, то есть N! В конце возвращаем эту переменную в качестве результата функции. Спрашивай, если что-то непонятно.
Я надеюсь, что такого описания тебе достаточно, чтобы нарисовать блок-схему. Если тебе удастся даже выложить её на форум, я смогу проверить тебя.
В общем, задавай вопросы, пиши решения, я подскажу, проверю, помогу.
Если будут ещё задачи, которые ты не сможешь решить, обращайся за помощью.
Linux forever!
- Linux forever!
- Втянувшийся
- Сообщения: 425
- Зарегистрирован: Сб май 31, 2008 7:59 pm
- Откуда: Харьков, Украина / Москва, РФ
- Контактная информация:
- Linux forever!
- Втянувшийся
- Сообщения: 425
- Зарегистрирован: Сб май 31, 2008 7:59 pm
- Откуда: Харьков, Украина / Москва, РФ
- Контактная информация:
kalitka
Страница 1.
Задача 1.
1 байт = 8 бит
Байт и кратные ему единицы измерения (таблица справа вверху)
(обратите внимание, что в таблице каждая следующая десятичная приставка умножает коэффициент на 1000, а двоичная приставка - на 1024).
Задача 2.
800 /2 / 2,5 / 1,44 = 111.(1) => необходимо 112 гибких дисков.
Задача 3.
а) 640 * 480 / 1024 = 300
б) 800 * 600 / 1024 = 468,75
Задача 4.
Нужно посчитать количество клеточек в строке (от левого до правого края), количество клеточек в столбце (от верхнего края до нижнего края) и количество страниц (не листов, а именно страниц - их в два раза больше, чем листов (обе стороны листа считать)) и перемножить эти три числа. Получим ответ в байтах. Если хотите, можно разделить на 1024 и получить ответ в К, если ещё раз разделить на 1024, то ответ будет в М и т.д.
Конкретное число не пишу, потому что не знаю вашу тетрадь. Посчитайте сами.
Задача 5.
9600 бод = 9600 бит/с (для двоичного кодирования)
20 М = 20 * 1024 * 1024 * 8 бит = 167772160 бит
1 минута = 60 с
167772160 / 9600 / 60 = 291,27(1) минут
Страница 2.
Задача 1.
ЗАДАЧА НЕ ИМЕЕТ ОДНОЗНАЧНОГО ПРАВИЛЬНОГО РЕШЕНИЯ! Дело в том что размер файла зависит от файловой системы. В настоящее врмя имеется много сотен или тысяч операционных систем и файловых систем. Все устроены по разному и предназначены для разных целей. Кроме того, слудет учитывать, что файлы в файловой системе имеют дополнительную мета-информацию, которая тоже зависит от файловой системы.
Я конечно понимаю, что в школе иногда проходят подобные тупые вещи, я лично с седьмого класса знал материал лучше учителя, поэтому мне всегда не нравилось подобное положение вещей. Ответ можно получить только зная материал, которому вас учили (однозначно правильного ответа здесь нет, нужно догадаться, чего от вас хочет именно ваш учитель).
Вообще я не решаю такие задачи, правильный ответ на которые зависит от проверяющего.
На вашем месте я бы написал, что задача поставлена некорректно и ОБЪЯСНИЛ БЫ ПРИЧИНУ (см. моё объяснение)!
Задача 2.
Я насчитал 98 символов (включая пробелы, знаки препинания, символы конца строки и конца сообщения). Можете пересчитать. 98 байт = 98 * 8 = 784 бит. Значит минимальная скорость равна 784 бит/мин = 784 / 60 бит/с = 13,0(6) бит/с.
Со скоростью 13 бит/с (или меньше) передача будет идти больше минуты.
Задача 3.
Для сохранения одного пикселя необходимо 16 бит = 2 байта информации (количество бит находится путём вычисления двоичного логарифма от количества цветов в цветовой гамме с округлением полученного числа вверх до ближайшего целого (15 < log2(65365) < 16 => 15 бит не хватит, а 16 хватит)).
Ответ в байтах: 1200 * 1024 * 2 (по 2 байта на каждый пиксель).
Ответ в Кб: 1200 * 1024 * 2 / 1024 = 1200 * 2 = 2400.
Страница 1.
Задача 1.
1 байт = 8 бит
Байт и кратные ему единицы измерения (таблица справа вверху)
(обратите внимание, что в таблице каждая следующая десятичная приставка умножает коэффициент на 1000, а двоичная приставка - на 1024).
Задача 2.
800 /2 / 2,5 / 1,44 = 111.(1) => необходимо 112 гибких дисков.
Задача 3.
а) 640 * 480 / 1024 = 300
б) 800 * 600 / 1024 = 468,75
Задача 4.
Нужно посчитать количество клеточек в строке (от левого до правого края), количество клеточек в столбце (от верхнего края до нижнего края) и количество страниц (не листов, а именно страниц - их в два раза больше, чем листов (обе стороны листа считать)) и перемножить эти три числа. Получим ответ в байтах. Если хотите, можно разделить на 1024 и получить ответ в К, если ещё раз разделить на 1024, то ответ будет в М и т.д.
Конкретное число не пишу, потому что не знаю вашу тетрадь. Посчитайте сами.
Задача 5.
9600 бод = 9600 бит/с (для двоичного кодирования)
20 М = 20 * 1024 * 1024 * 8 бит = 167772160 бит
1 минута = 60 с
167772160 / 9600 / 60 = 291,27(1) минут
Страница 2.
Задача 1.
ЗАДАЧА НЕ ИМЕЕТ ОДНОЗНАЧНОГО ПРАВИЛЬНОГО РЕШЕНИЯ! Дело в том что размер файла зависит от файловой системы. В настоящее врмя имеется много сотен или тысяч операционных систем и файловых систем. Все устроены по разному и предназначены для разных целей. Кроме того, слудет учитывать, что файлы в файловой системе имеют дополнительную мета-информацию, которая тоже зависит от файловой системы.
Я конечно понимаю, что в школе иногда проходят подобные тупые вещи, я лично с седьмого класса знал материал лучше учителя, поэтому мне всегда не нравилось подобное положение вещей. Ответ можно получить только зная материал, которому вас учили (однозначно правильного ответа здесь нет, нужно догадаться, чего от вас хочет именно ваш учитель).
Вообще я не решаю такие задачи, правильный ответ на которые зависит от проверяющего.
На вашем месте я бы написал, что задача поставлена некорректно и ОБЪЯСНИЛ БЫ ПРИЧИНУ (см. моё объяснение)!
Задача 2.
Я насчитал 98 символов (включая пробелы, знаки препинания, символы конца строки и конца сообщения). Можете пересчитать. 98 байт = 98 * 8 = 784 бит. Значит минимальная скорость равна 784 бит/мин = 784 / 60 бит/с = 13,0(6) бит/с.
Со скоростью 13 бит/с (или меньше) передача будет идти больше минуты.
Задача 3.
Для сохранения одного пикселя необходимо 16 бит = 2 байта информации (количество бит находится путём вычисления двоичного логарифма от количества цветов в цветовой гамме с округлением полученного числа вверх до ближайшего целого (15 < log2(65365) < 16 => 15 бит не хватит, а 16 хватит)).
Ответ в байтах: 1200 * 1024 * 2 (по 2 байта на каждый пиксель).
Ответ в Кб: 1200 * 1024 * 2 / 1024 = 1200 * 2 = 2400.
Linux forever!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя