Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 06.03.2012, 20:37   #1
WorldOfWarcraft
Новичок
Джуниор
 
Регистрация: 06.03.2012
Сообщений: 1
Восклицание It-academy задания

Добрый день уважаемые разработчики! Я начинающий программист, который прочитав книги и немного попрактиковавшись решил пойти в академию(школу) айтишной компании своего города. После успешного окончания у меня есть хорошие шансы устроиться в фирму на работу. Сегодня мне дали на дом задания для вступления в академию, которые необходимо будет сдать 08.03.2012. Задания разбиты на 3 части: OOP/OOD, Web UI и основы SQL. Первую часть можно написать на PHP, вторую... вторая это в основном HTML и немного JavaScript, третья это SQL. Прошу Вашей помощи! Сам я также буду выполнять эти задания и выкладывать ответы здесь.
Итак, сами задания:

OOP/OOD
Используя пример иерархии наследования(ниже) реализовать базовый класс и двух его потомков, для которых:
1. Базовый класс содержит чисто виртуальную(абстрактную) функцию, которая возвращает результат примитивного типа.
2. Базовый класс содержит минимум одно поле данных.
3. Классы- потомки реализуют абстрактную функцию.
4. Классы-потомки должны содержать по несколько уникальных полей данных разного типа.
5. Реализовать еще один класс, который содержит коллекцию(список) объектов классов потомков.
6. Написать функцию сортировки списка по убыванию значений, возвращаемых переопределенной функцией.
7. Написать тесты для функции сортировки.
8. Написать функцию сохранения содержимого списка в текстовый файл.
9. Написать функцию чтения данных из файла - восстановление содержимого списка.
10. При чтении данных обработать некорректный формат файла. Использовать свой класс исключений.
11. Написать код, позволяющий создавать только один экземпляр класса в приложении.
12. Нарисовать диаграмму классов, желательно UML вида.
Пример иерархии наследования: Растение->цветок, дерево->метод возвращает время жизни.

Web UI
1. Напишите пример HTML-страницы, содержащей такую информацию:-заголовок, три параграфа текста и рмсунок перед последним параграфом.
2. Какая разница между тегами span и div?
3. Как можно добавить Java скрипт в HTML страницу?
4. Какие теги используются для построения таблиц? Какими способами можно построить таблицу?
5. Какое свойство CSS задает вертикальное выравнивание?
6. Правильная ли с точки XML такая запись:<user id = "1" authorid = 7></user>?
7. Каким образом можно проверить, что XML документ является правильным?
8. Напишите простой пример HTML-формы для регистрации пользователя.
9. Перечислите языки, которые используются в веб разработке. Какие из них используются для написания серверных скриптов, которые Вам известны?
10. Каковы основные принципы ООП Вы знаете? Объясните их. Приведите примеры.

Основы SQL
Заданы таблицы: Работники Empl (ID, FirstName, LastName, DeptID) и Подразделения Dept(ID, City)
1. Выведите список городов, шде находятся подразделения компании.
2. Выведите список имен работников (без повторов, упорядочен по алфавиту).
3. Посчитайте, сколько работников у компании в заданном подразделении (номер).
4. Получите список количества работников в каждом подразделении(номер). Упорядочить по убыванию числа работников.
5. Получите список количества работников в каждом подразделении (номер). Упорядочить по названиям городов, где располагается подразделение.
6. Выберите список городов, содержащие букву "Д" в начале.
7. Выберите список всех городов, содержащие букву "л" в середине слова и соответствующее количество работников напротив каждого названия. Учесть, что в таблице подразделений может быть город, в котором отсутствуют работники, и в таблице работников могут быть такие, для которых данные поля DptId = NULL.
8. Выберите список людей, имеющих однофамильцев. Упорядочить по алфавиту.
9. Выберите список людей, имеющих несколько полных совпадений имени и фамилии из города "Львов" и упорядочить по именам.
10. Получите список городов с количеством работников с именем "Василий" более 10. Упорядочить по номеру подразделения.

Буду очень признателен за помощь!
WorldOfWarcraft вне форума Ответить с цитированием
Старый 06.08.2012, 21:29   #2
Evgeniy*
 
Регистрация: 06.08.2012
Сообщений: 4
По умолчанию

Пункт 2


1.
Код:
<html> 
	<head> Заголовок </head> 
	<title>HTML параграфы и блоки</title> 
	
	<body> 
	<H1>Параграф1</H1><p> 
	<H1>Параграф2</H1><p> 
	<img src="http://ktonanovenkogo.ru/image/rss_no_drop1.png" ><p> 

	<H1>Параграф3</H1><p> 
	
	</body> 
</html>
2. SPAN - контейнер строчного типа, подобно <I>, <STRONG>, <BIG>, <FONT>, <SUB>, <TT> и другим. Помещается в потоке подобно элементу строки, может находиться внутри контейнеров блочного и строчного типов.
<DIV> - контейнер блочного типа, подобно <P>, <TABLE>, <UL>, <DL> и другим. Помещается в потоке подобно блоку, может находиться внутри контейнеров блочного, но не строчного типов.

3. Из названия языка выводятся вполне запоминающиеся теги - <script> и </script>. Между этими тегами мы и будем вставлять какую-либо программу JavaScript. Так же можно вставлять JavaScript между тегами <head> и </head>, так как они являются одними из первых тегов, которые читает браузер, но по сути JavaScript программу можно вставить куда вам пожелается.

Код:
<script language="JavaScript">
//операторы JavaScript ...
//alert ("Добро пожаловать !");
</script>
4. Сама таблица в HTML создаётся тегами < TABLE> и < /TABLE>, строки таблицы (помещаются между тегами < TABLE> и < /TABLE>) тегами < TR> и < /TR>, а столбцы таблицы (помещаются между тегами < TR> и < /TR>) тегами < TD> и < /TD>.
- Создание простой таблицы и форматирование данных внутри таблицы
- Выравнивание данных в столбцах таблицы
- Задание цвета рамок таблицы
- Задание фонового рисунка для таблицы

5. Свойство текста vertical-align – задает вертикальное выравнивание элемента

6.
Код:
<user id=”1” authorid=7></user>
id=”1” authorid=”7” – это свойства задают параметры контейнера, а параметры заключены в кавычки поэтому данное свойство не правильно без кавычек

7. С применение специальных валидаторов, редакторов - Редактор XML проверяет синтаксис XML 1.0, а также выполняет проверку правильности данных по мере их ввода. Редактор может выполнять проверку правильности с помощью определения типа документа (DTD) или схемы.
Также можно с применение специальных проверочных парсеров JAXP или Xerces Java

8.
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Форма регистрации</title>
</head>

<BODY>
<H1>Форма регистрации на сайте</h1>

<FORM ACTION="" method="post">

<table border="1" cellpadding="5" cellspacing="0" width="40%">
<tr>
    <td width="50%" align="right">Ваше имя: </td>
    <td width="50%"> <INPUT NAME="text" SIZE="30" MAXLENGTH="32"></td>
</tr>
<tr>
    <td width="50%" align="right">Ваш e-mail :</td>
    <td width="50%"> <INPUT TYPE="text" NAME="email"  SIZE="30" MAXLENGTH="32"></td>
</tr>
<tr>
    <td width="50%" align="right">Пароль: </td>
    <td width="50%"> <INPUT TYPE="password" NAME="psw" SIZE="20" MAXLENGTH="18"></td>
</tr>
<tr>
    <td width="50%" align="right">Повтор пароля: </td>
    <td width="50%"> <INPUT TYPE="password" NAME="repsw" SIZE="20" MAXLENGTH="18"></td>
</tr>
</table>
<p>
<INPUT TYPE="submit" value="передать данные"> 
<INPUT TYPE="reset"  value="Сброс данных"> 
</FORM>
</body>
</html>
9. Популярные фреймворки и языки WEB программирования
1) Клиентские JavaScript, SilverLight, AdobeFlash(ActionScript)
2) Серверные ASP.NET(C#, Visual Busic, JScript, и другие .NET языки), JSP(Java) , PHP, Perl, Ruby(Ruby and Rails), Python, Groovy

10. Есть три основных столпа ООП:
Инкапсуляция – возможность скрытия реализации каких то частей модуля или объекта от внешнего мира (от клиента).
Наследование – возможность использовать общий код для всех потомков наследованных от общего родителя.
Полиморфизм – возможность подмены некоторых методов или свойств для задания им другого поведения.

Последний раз редактировалось artemavd; 09.08.2012 в 06:13.
Evgeniy* вне форума Ответить с цитированием
Старый 06.08.2012, 21:30   #3
Evgeniy*
 
Регистрация: 06.08.2012
Сообщений: 4
По умолчанию

Пункт 3.


Код:
SQL
1. SELECT DISTINCT City From Dept;

2. SELECT DISTINCT FirstName From empl
   ORDER BY FirstName;

3. SELECT count(*), deptid From empl
   Group by deptid;

4. SELECT count(*), deptid From empl
   Group by deptid
   ORDER BY count(*) desc;

5. SELECT count(employee.FirstName) as 'numbers', employee.Deptid, department.City
   FROM Dept, Empl
   WHERE Empl.ID = Dept.Deptid
   Group by Empl.Deptid , Dept.City
   ORDER BY Dept.City;

6. SELECT City FROM Dept
   Where City LIKE 'Д%'; 

7. SELECT count(Empl.FirstName), Dept.City FROM Dept, Empl
   WHERE Empl.Deptid = Dept.Deptid AND Dept.City LIKE '%i%'
   GROUP BY Dept.City

8. SELECT LastName FROM  Empl
   GROUP by LastName
   HAVING COUNT(LastName)>1
   ORDER BY LastName

9. SELECT LastName, FirstName FROM  Empl
   GROUP by LastName, FirstName
   HAVING COUNT(LastName)>1 
   ORDER BY FirstName

10. SELECT d.City, count(e.FirstName) 
    From Dept d, Empl e
    Where  e.Deptid=d.ID AND e.FirstName='Василий'
    GROUP BY d.City
    HAVING count(e.FirstName)>10
    ORDER BY d.City


   SELECT d.ID, d.City, count(e.FirstName) 
   From Dept d, Empl e
   Where  e.Deptid=d.ID AND e.FirstName='Василий'
   GROUP BY d.City , d.ID
   HAVING count(e.FirstName)>10
   ORDER BY d.ID

Последний раз редактировалось artemavd; 09.08.2012 в 06:14.
Evgeniy* вне форума Ответить с цитированием
Старый 06.08.2012, 21:52   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,979
По умолчанию

Цитата:
Сам я также буду выполнять эти задания и выкладывать ответы здесь.

А нахрена?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 07.08.2012, 08:35   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...некропостеры
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.08.2012, 08:51   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,305
По умолчанию

10 пункт в текущей форме очень спорное утверждение. Либо добавьте дополнительные пункты, либо уточните первые два. Да и третий пункт сформулирован как-то интересно. Это скорее внутреннее представление, чем определение полиморфизма. Вообще не хватает как минимум абстрагирования. Ваше определение примерно из середины 90-х. Даже Вики и то вводит понятие объекта перед перечислением указанных основ.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 07.08.2012 в 08:54.
Utkin вне форума Ответить с цитированием
Старый 07.08.2012, 20:24   #7
in11002
 
Регистрация: 07.08.2012
Сообщений: 4
По умолчанию

Пытаюсь реализовать раздел ООП, и столкнулся с трудностями.
Например есть класс, имеющий несколько полей (числовые, текстовые). Есть несколько экземпляров (объектов) данного класса. При присвоении значения конкретному полю конкретного экземпляра изменяется данное поле ВСЕХ экземпляров. Как сделать так, чтобы изменялось поле только одного экземпляра?
Пишу на C#. Заранее благодарен.
in11002 вне форума Ответить с цитированием
Старый 07.08.2012, 20:37   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Во-первых, оффтопик
Во-вторых, код в студию
В-третьих, не делать переменные статическими
p51x вне форума Ответить с цитированием
Старый 07.08.2012, 23:12   #9
in11002
 
Регистрация: 07.08.2012
Сообщений: 4
По умолчанию

Код выглядит примерно так:
Код:
public abstract class praciv
    {
            
            public int ID;
            public string name;
        public abstract double zarplata(double x);
        public double zp;
    }

        public class fixx : praciv
        {
           
            public override double zarplata(double x)
            {
                return x;
                throw new NotImplementedException();
            }
            
        }
       
List<fixx> mass = new List<fixx>();

private void Form1_Load(object sender, EventArgs e)
        {
            
            if (File.Exists("base.txt"))
            {
                StreamReader sr = new StreamReader("base.txt");
                string s1 = ""; string s2 = ""; int i,a=0;
                while (!sr.EndOfStream)
                {
                    s1 += sr.ReadLine();
                }

                fixx w = new fixx();

                for (i = 0; i < s1.Length; i++)
                {
                    if (s1[i]=='\u0005')
                    {
                        while (a < i)
                        {
                            s2 += s1[a];
                            a++;
                        }
                        w.ID = Convert.ToInt32(s2);
                        a++;
                        s2 = "";
                    }
                    else if (s1[i] == '\u0007')
                    {
                        while (a < i)
                        {
                            s2 += s1[a];
                            a++;
                        }
                        w.name = s2;
                        a++;
                        s2 = "";
                    }
                    else if (s1[i] == '\u001b')
                    {
                        while (a < i)
                        {
                            s2 += s1[a];
                            a++;
                        }
                        w.zp = Convert.ToDouble(s2);
                        a++;
                        s2 = "";
                        mass.Add(w);
                        richTextBox1.AppendText(Convert.ToString(w.ID)+'\u0009'+w.name+'\u0009'+Convert.ToString(w.zp)+"\r\n");
                        count++;
                    }
                }
            }
         }
Переменные я умышленно не задавал статическими. При присвоении w.ID w.name и w.zp эти же значения присваиваются соответственно всем элементам mass[ ].ID mass[ ].name и mass[ ].zp

Последний раз редактировалось artemavd; 09.08.2012 в 06:14.
in11002 вне форума Ответить с цитированием
Старый 08.08.2012, 00:13   #10
Evgeniy*
 
Регистрация: 06.08.2012
Сообщений: 4
По умолчанию

До 5-го пункта включительно

Код:
import java.util.ArrayList;

public class Composition 
{

public static void main(String[] args) 
{
ArrayList<Code> Check = new ArrayList<Code>();
Check.add(new C#());
Check.add(new Java());
Check.add(new C#());
for (int i=0;i<Check.size();i++)
{
Check.get(i).talk();
}
}
}

abstract class Code
{
String name;
void setName(String name)
{
this.name = name;
}
Code()
{
name = "OOP";
}
Code(String name)
{
this.name = name;
}
abstract void talk();
}


class C# extends Code
{
void talk()
{
System.out.println("C# "+ name);
}
C#()
{
super();
}
C#(String name)
{
super(name);
}
}

class Java extends Code
{
void talk()
{
System.out.println("Java "+ name);
}
Java()
{
super();
}
Java(String name)
{
super(name);
}
}

Последний раз редактировалось artemavd; 09.08.2012 в 06:15.
Evgeniy* вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задания по с++ Banner Общие вопросы C/C++ 9 27.02.2012 15:38
Задания !! sittok Фриланс 12 15.04.2011 17:50
Задания С++. Chelios Фриланс 6 05.01.2011 19:05
Задания pr0kazn1k Фриланс 5 22.12.2010 00:22
Jedi Academy по сети Соколов Дмитрий Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 03.05.2009 20:00


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840