Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2015, 10:01   #1
Kazino96
 
Регистрация: 12.04.2015
Сообщений: 3
По умолчанию Помогите сделать все это в Pascal

Я не могу сделать это задание, два дня потратил, помогите кто может.
a) определите k — порядковый номер того дня високосного года, который имеет дату d, m;
б) определите d, m — дату k-гo по счету дня високосного года.
Kazino96 вне форума Ответить с цитированием
Старый 12.04.2015, 11:42   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
два дня потратил
пациент врёт. Чтобы вывести формулу, нужно не более 40 секунд. и паскаль тут ни при чём.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.04.2015, 12:35   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Задача а)
Код:
const dni:array[1..12] of byte=(31,29,31,30,31,30,31,31,30,31,30,31);
var d,m,i:byte;
    k:integer;
begin
   d:=12;
   m:=4;
   k:=0;
   For i:=1 to m-1 do
      k:=k+dni[i];
   k:=k+d;
   Writeln(k);
   Readln;
end.
Задача б)
Код:
const dni:array[1..12] of byte=(31,29,31,30,31,30,31,31,30,31,30,31);
var d,m,i:byte;
    k:integer;
begin
   k:=103;
   For i:=1 to 12 do
   begin
      If k>dni[i] then
         k:=k-dni[i] else
      begin
         m:=i;
         d:=k;
         Break;
      end;
   end;
   Writeln(d,'.',m);
   Readln;
end.
Сойдет?
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 12.04.2015 в 12:41.
newerow1989 вне форума Ответить с цитированием
Старый 12.04.2015, 13:02   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да сойдет конечно, главное чтоб заработало после копипаста в IDE.
И чтоб учитель ничего не спросил.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.04.2015, 13:28   #5
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
пациент врёт. Чтобы вывести формулу, нужно не более 40 секунд. и паскаль тут ни при чём.
Здравствуйте, я тоже новичок как я понимаю отталкиваться нужно от того что в вискосном году 366 дней, в январе 31 феврале 29 марте 31 апреле 30 мае 31 июне 30 июле 31 августе 31 сентябре 30 октябре 31 ноябре 30 декабре 31... от сюда мой пример решения части (а) через case
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            int k, d, m;
            Console.Write("Введите число \n\r");
            d = Convert.ToInt16(Console.ReadLine());
            Console.Write("Введите Месяц \n\r");
            m = Convert.ToInt16(Console.ReadLine());
            switch (m)
            {
                case 1:
                    k = 0 + d;
                    Console.Write(k);
                    break;
                case 2:
                    k = 31 + d;
                    Console.Write(k);
                    break;
                case 3:
                    k = 60 + d;
                    Console.Write(k);
                    break;
                case 4:
                    k = 91 + d;
                    Console.Write(k);
                    break;
                case 5:
                    k = 121 + d;
                    Console.Write(k);
                    break;
                case 6:
                    k = 152 + d;
                    Console.Write(k);
                    break;
                case 7:
                    k = 182 + d;
                    Console.Write(k);
                    break;
                case 8:
                    k = 213 + d;
                    Console.Write(k);
                    break;
                case 9:
                    k = 244 + d;
                    Console.Write(k);
                    break;
                case 10:
                    k = 274 + d;
                    Console.Write(k);
                    break;
                case 11:
                    k = 305 + d;
                    Console.Write(k);
                    break;
                case 12:
                    k = 335 + d;
                    Console.Write(k);
                    break;
                default:
                    Console.Write("Неверно введен месяц");
                    break;
            }
            Console.ReadLine();

        }
    }
}
вот еще один вариант решения (а) только через цикл
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            int k = 0;
            int[] md = new int[12];
            md[0] = 0;
            md[1] = 31;
            md[2] = 60;
            md[3] = 91;
            md[4] = 121;
            md[5] = 152;
            md[6] = 182;
            md[7] = 213;
            md[8] = 244;
            md[9] = 274;
            md[10] = 305;
            md[11] = 335;
            Console.Write("Введите число \n\r");
            int d = Convert.ToInt16(Console.ReadLine());
            Console.Write("Введите Месяц \n\r");
            int m = Convert.ToInt16(Console.ReadLine());
            for(int i=0;i<=m-1;i++)
            {
                k = md[i] + d;
            }
            Console.Write(k);
            Console.ReadLine();
        }
    }
}
вы это имели ввиду когда говорили о формуле
Obey177 вне форума Ответить с цитированием
Старый 12.04.2015, 13:39   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
вы это имели ввиду когда говорили о формуле
не совсем.
ещё проще – задать константный массив из 12 элементов, равных количеству дней в месяцах. и всё!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Все кто шарит PASCAL. Помогите Ahsim Помощь студентам 5 19.04.2014 19:18
Я создал игру типо марио и хочу сделать её по сети как это сделать? rbkmz Работа с сетью в Delphi 7 14.05.2012 15:58
Помогите пожайлуста!!!Я не понимаю как это сделать Frolic Microsoft Office Word 1 11.11.2009 11:41
Помогите пожалуйсто с задачкой, исходник есть!! нужно преобразовать все это в С++2005! спс за рание! immortalwar Помощь студентам 0 10.06.2009 09:31