ПОМОЩЬ по: Информатике

Все про школу, институт, проблемы и достижения в учёбе.
Аватара пользователя
Linux forever!
Втянувшийся
Сообщения: 425
Зарегистрирован: Сб май 31, 2008 7:59 pm
Откуда: Харьков, Украина / Москва, РФ
Контактная информация:

Непрочитанное сообщение Linux forever! »

Fabulous-girl

Задача 1
1 Мб = 1024 Кб = 1024 * 1024 байтов = 1024 * 1024 * 8 битов = 8388608 битов
600 * 800 * 2 страницы = 960000 цветов пикселей нужно хранить
На хранение цвета одного пикселя есть 8388608 / 960000 = 8,7 бита
9 битов на хранение цвета пикселя у нас нет, а 8 битов есть. Значит максимальное количество цветов будет 2^8 = 256 цветов.
Ответ: 256 цветов.

Задача 2
Для хранения цвета 4-х цветного изображения нужно log_2 (4) = 2 бита памяти.
Значит всего есть 300 * 200 * 2 = 120000 битов памяти.
Для хранения цвета 256-цветного изображения нужно log_2 (256) = 8 битов памяти.
Значит всего можно хранить 120000 / 8 = 15000 цветов пикселей.
Исходные пропорции 3:2.
Значит 3 * x * 2 * x = 15000
6 * x^2 = 15000
x^2 = 2500
x = 50 (отрицательный корень не подходит по понятным причинам - длина и высота экрана - неотрицательное число)
Итого размеры изображения 3*х : 2*х = 150 : 100.
Ответ: 150х100.

:flowers:
Изображение
Изображение Linux forever!

Аватара пользователя
Fabulous-girl
Втянувшийся
Сообщения: 478
Зарегистрирован: Вс июн 14, 2009 7:43 pm
Откуда: Ульяновск
Контактная информация:

Непрочитанное сообщение Fabulous-girl »

Linux forever!
спасибо огромное :)

Аватара пользователя
Fabulous-girl
Втянувшийся
Сообщения: 478
Зарегистрирован: Вс июн 14, 2009 7:43 pm
Откуда: Ульяновск
Контактная информация:

Непрочитанное сообщение Fabulous-girl »

Блин, опять ничего не понимаю
У меня дан рисунок, надо написать программу на с, которая проверяет попадет ли точки с заданными координатами в область этой фигуры
точка(0.2;0.7)
Изображение

Аватара пользователя
Marlen
Легенда форума
Сообщения: 11440
Зарегистрирован: Ср мар 10, 2010 7:18 pm
Контактная информация:

Непрочитанное сообщение Marlen »

Fabulous-girl
девушка,а где вы учитесь?

Аватара пользователя
Fabulous-girl
Втянувшийся
Сообщения: 478
Зарегистрирован: Вс июн 14, 2009 7:43 pm
Откуда: Ульяновск
Контактная информация:

Непрочитанное сообщение Fabulous-girl »

Miss Katti
в колледже. а что такое? :)

Аватара пользователя
Marlen
Легенда форума
Сообщения: 11440
Зарегистрирован: Ср мар 10, 2010 7:18 pm
Контактная информация:

Непрочитанное сообщение Marlen »

Fabulous-girl
да просто задание интересные. а специальность у тебя какая?

Аватара пользователя
Linux forever!
Втянувшийся
Сообщения: 425
Зарегистрирован: Сб май 31, 2008 7:59 pm
Откуда: Харьков, Украина / Москва, РФ
Контактная информация:

Непрочитанное сообщение Linux forever! »

Fabulous-girl

На рисунке никакая область не заштрихована. Какая фигура имеется в виду? Попадёт ли точка внутрь круга? Внутрь квадрата? Или в область внутри круга, но вне квадрата?

После уточнения условия всё очень просто:
1. математически записываешь уравнения данной окружности и четырёх прямых с ограничениями (либо сразу два модуля по x и y для простоты). А потом неравенствами проверяешь нужную область (пока что непонятно, какая область нужная).
2. пишешь программу, которая содержит одну проверку в условном операторе и вывод результата в зависимости от условия.

Халява. :)
Изображение
Изображение Linux forever!

Аватара пользователя
Fabulous-girl
Втянувшийся
Сообщения: 478
Зарегистрирован: Вс июн 14, 2009 7:43 pm
Откуда: Ульяновск
Контактная информация:

Непрочитанное сообщение Fabulous-girl »

Miss Katti
прикладная информатика
Linux forever!
в задании вообще ничего не было заштриховано просто :pardon:
Вроде бы сделала. Вот что получилось

Код: Выделить всё

#include <stdio.h>
int main(void)
{
int f;
float x,y;
x=0.2;
y=0.7;
f=((y+x>=1)&&( x*x+y*y<=1))||((y-x>=-1)&&(x*x+y*y<=1))||((y+x>=-1)
&& (x*x+y*y<=1))||((y-x>=1)&&(x*x+y*y<=1));
printf("%d \n",f);
}

Аватара пользователя
Linux forever!
Втянувшийся
Сообщения: 425
Зарегистрирован: Сб май 31, 2008 7:59 pm
Откуда: Харьков, Украина / Москва, РФ
Контактная информация:

Непрочитанное сообщение Linux forever! »

Fabulous-girl

Смотри, во-первых у тебя 4 раза написано одно и то же условие (проверка того, что точка внутри круга). Это проверку можно вынести за скобки, то есть проверить:
(точка внутри круга) И (точка с нужной стороны от одной прямой ИЛИ второй ИЛИ третьей ИЛИ четвёртой).

Но можно ещё короче записать. Если вместо x и y взять их модули, то достаточно записать одно условие для первой четверти, остальные автоматически за счёт модуля выполнятся.

И наконец лучше не присваивать результат условия в переменную типа int и не выводить число, а проверку сделать в условном операторе, а вывести пользователю сообщение.

Код: Выделить всё

#include <stdio.h>
#include <stdlib.h>

int main() {
  float x = 0.2;
  float y = 0.7;
  if (x*x + y*y <= 1 && fabs(x) + fabs(y) >= 1) {
    printf("Точка принадлежит области\n");
  } else {
    printf("Точка НЕ принадлежит области\n");
  }
  return 0;
}
А ещё лучше было вводить x и y с клавиатуры и определять результат для произвольной точки.

:flowers:
Изображение
Изображение Linux forever!

Аватара пользователя
Fabulous-girl
Втянувшийся
Сообщения: 478
Зарегистрирован: Вс июн 14, 2009 7:43 pm
Откуда: Ульяновск
Контактная информация:

Непрочитанное сообщение Fabulous-girl »

Linux forever!
просто практическая была по теме функции в с, когда мы ее делали мы циклы не проходили еще, поэтому она мне не подходит. но спасибо за помощь :)

Аватара пользователя
Linux forever!
Втянувшийся
Сообщения: 425
Зарегистрирован: Сб май 31, 2008 7:59 pm
Откуда: Харьков, Украина / Москва, РФ
Контактная информация:

Непрочитанное сообщение Linux forever! »

Fabulous-girl

Пожалуйста, но условный оператор не является, ни циклом, ни функцией.

В цикле что-то повторяется много раз, а в условном операторе просто проверяется и происходит ветвление.

А функция - это отдельная часть программы, которую можно вызвать (иногда с параметрами). Например main() тоже функция. И она есть в любой программе на С.

Ну раз вы не проходили условные операторы, тогда можно и в переменные присваивать, согласен. Но условие уж точно лучше писать короткое, как в моём примере. У нас с тобой условия математически одинаковые, но моё условие быстрее писать, его проще понять другому человеку, который будет читать твою программу, в коротком условии меньше вероятность допустить ошибку/опечатку и работать оно будет быстрее (компьютеру меньше считать придётся).

Если ещё помощь понадобится, обращайся. Можешь свой код выкладывать для проверки и обсуждения. :rose:
Изображение
Изображение Linux forever!

Аватара пользователя
Fabulous-girl
Втянувшийся
Сообщения: 478
Зарегистрирован: Вс июн 14, 2009 7:43 pm
Откуда: Ульяновск
Контактная информация:

Непрочитанное сообщение Fabulous-girl »

Linux forever!
я все перепутала, по операциям была практическая и циклы с ветвлением перепутала, просто я ночью мало спала и весь день немного торможу %) спасибо за советы, надеюсь я когда-нибудь стану таким же хорошим программистом :bemine:

Аватара пользователя
Angioletto
Мастер
Сообщения: 1324
Зарегистрирован: Сб июн 07, 2008 4:33 pm
Контактная информация:

Непрочитанное сообщение Angioletto »

Помогите, пожалуйста, решить 2 задачи. Обе задачи надо решить в Excel(у меня 2007 года).

1 задача
Решить графическим методом задачу линейного программирования. Найти max и min функции F
F=x+y
2x+3y больше или равно 6
9x+2y меньше или равно 18
7x+5y меньше или равно 35
x больше или равно 0
y больше или равно 0

2 задача
Решить задачу линейного программирования симплексным методом
F=2x+3y (стрелка) max
x+3y меньше или равно 4
4x+y меньше или равно 5
x больше или равно 0
y больше или равно 0

Аватара пользователя
Fabulous-girl
Втянувшийся
Сообщения: 478
Зарегистрирован: Вс июн 14, 2009 7:43 pm
Откуда: Ульяновск
Контактная информация:

Непрочитанное сообщение Fabulous-girl »

что-то я запуталась %)
Написать программу, которая после введенного с клавиатуры числа, обозначающего денежную единицу, дописывает слово рубль в правильной форме.
На паскале

Аватара пользователя
Linux forever!
Втянувшийся
Сообщения: 425
Зарегистрирован: Сб май 31, 2008 7:59 pm
Откуда: Харьков, Украина / Москва, РФ
Контактная информация:

Непрочитанное сообщение Linux forever! »

Fabulous-girl

А в чём проблема? Есть всего три возможных варианта:

1) рубль (все числа, которые заканчиваются на 1, кроме тех, которые заканчиваются на 11)
2) рубля (все числа, которые заканчиваются на 2, 3 или 4, кроме тех, которые заканчиваются на 12, 13 или 14)
3) рублей (все числа, которые заканчиваются на 5, 6, 7, 8, 9 или 0, и числа, заканчивающиеся на 11, 12, 13 и 14)

Попробуй написать код и выложить на проверку. Обсудим. :) :rose:
Изображение
Изображение Linux forever!

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя