вторник, 15 октября 2013 г.

Структуры данных в Pasсal: список, очередь.

Материалы

Список. Создание списка путем добавления элементов в конец списка. Просмотр списка

Задание

В кассу на почте выстраивается очередь. Пока кассир обслуживает одного клиента, в очередь подходят еще трое. На обслуживание одного клиента уходит K секунд.
Кассир работает ровно T часов, потом идет обедать. Определите, сколько клиентов останется в очереди к началу обеда? Кто будет находится на кассе а начало обеда? Какой id будет у клиента, который окажется последним в очереди к началу обеда?
Формат входных данных
на ввод подаются сперва K - количество секунд на обслуживание одного клиента, затем T - время работы кассира в часах.

Формат выходных данных
В первой строчке вывести количество клиентов в очереди.
Во второй строчке вывести номер клиента, который окажется в начале очереди.
В третьей строчке вывести номер клиента, который окажется в конце очереди.
Клиенты нумеруются по порядку, начиная с 1.

Разбор задания
В цикле будем отсчитывать время работы кассира шагами по K секунд, пока оно будет меньше чем введенное значение T.
На каждой итерации цикла в очередь будут подходить три человека, а обслуживаться - один. Значит на каждой итерации нам следует добавить три элемента в очередь и удалить один, стоящий первым. При этом номер добавляемого клиента каждый раз будет увеличиваться на 1.
По окончании времени работы, выведем номер, хранящийся по указателю на первый и последний элемент.
Подсчитаем количество элементов в очереди и выведем его.

{Процедура добавления элемента в очередь}

{Объявление типа очередь}
Type
  PQueue = ^Queue;
  Queue = record
       Data : integer;
       Next : PQueue;

  end;

{Процедура добавления элемента в очередь}
Procedure AddElement(Var BeginQ, EndQ : PQueue; c : integer);
Var
  u : PQueue;
Begin
  new(u);
  u^.Data := c;
  u^.Next := Nil;
  if BeginQ = Nil {проверяем, пуста ли очередь}
    then
      BeginQ := u {ставим указатель начала очереди на первый созданный элемент}
    else
      EndQ^.Next := u; {ставим созданный элемент в конец очереди}
  EndQ := u; {переносим указатель конца очереди на последний элемент}
End;    

{Процедура удаления элемента из очереди}
procedure RemoveElement(Var BeginQ, EndQ : PQueue);
Var
  u, v : PQueue;
Begin
  u := BeginQ;
  if BeginQ = Nil {проверяем, пуста ли очередь}
    then
      writeln('Очередь пуста')
    else
    begin
      u:=BeginQ;
      BeginQ := BeginQ^.Next;
      dispose(u);
      if BeginQ = nil then EndQ := nil;
    end;
End;   

Домашнее задание

В кассу на почте выстроилась очередь. Пока кассир обслуживает одного клиента, в очередь подходят еще трое. На обслуживание одного клиента уходит K секунд.
Кассир работает ровно T часов, потом идет обедать. Определите, сколько клиентов останется в очереди к началу обеда? Кто будет находится на кассе а начало обеда? Какой id будет у клиента, который окажется последним в очереди к началу обеда?
Формат входных данных
на ввод подаются сперва K - количество секунд на обслуживание одного клиента, затем T - время работы кассира в часах.
После этого начинают вводится id клиентов пока не кончится время. (id - строка из букв латинского алфавита и цифр длиной не более 5 символов)


Формат выходных данных
В первой строчке вывести количество клиентов в очереди.
Во второй строчке вывести id клиента, который окажется в начале очереди.
В третьей строчке вывести id клиента, который окажется в конце очереди.



Представление вещественных числе в памяти компьютера

Вещественные числа обычно представляются в виде чисел с плавающей запятой. Числа с плавающей запятой — один из возможных способов представления действительных чисел, который является компромиссом между точностью и диапазоном принимаемых значений, его можно считать аналогом экспоненциальной записи чисел, но только в памяти компьютера.

суббота, 12 октября 2013 г.

Урок 12 октября по теме "Кумир. Циклы с условием" в 8Д классе

Задание по теме

  1. Внимательно изучить презентацию;
  2. Выполнить задания после уроков 5,6,7;
  3. Готовые задания загрузить в свою папку "КУМИР"  в вашем Google Диск;
  4. Выполненные домашние работы должны быть там же!
Для тех, кто еще не разобрался с почтой и диском Google: