forsaken1 / ice

Семестры 8-9, общий репозиторий

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Домашние работы

Защита информации

Распознавание образов

Логическое программирование

Установка Prolog

sudo apt-add-repository ppa:swi-prolog/stable
sudo apt-get update
sudo apt-get install swi-prolog

Запуск

swipl

prolog

Параллельное программирование

pthread.h

Четное-нечетное

Используя стандартную библиотеку POSIX Threds запустить три потока. 1) Запуск потоков последовательно т.е. <поток 1> -> <поток 2> -> <поток 3> 2) Запуск потоков параллельно без обмена информацией или сигналами т.е. <поток 1> -> <поток 2> | <поток 1> -> <поток 3> 3) Запуск потоков параллельно с обменом информацией любым способом т.е. <поток 1> -> <поток 2> : <поток 1> -> <поток 3> При этом <поток 2> имеет право выводить на печать (окно терминала) только нечетные числа. <поток 3> только четные. Разрешается много раз создавать и уничтожать потоки (особенно в задании 1). Задача: Последовательно вывести все числа от 1 до 100 Пояснение: За выполнение каждого пункта начисляется по 10 баллов

MPI

Hello world

Написать с использованием библиотеки стандарта MPI программу "Hello World!". Главный исполнитель должен получать от всех птоков сообщения Hello и печатать их на терминале. По окончанию получения сообщений от всех остальных потоков должен печатать сообщение от себя и завершаться.

Лабиринт

Используя интерфейс обмена данными MPI реализовать процедуру поиска выхода из лабиринта размерности N на N. Лабиринт хранится в текстовом файле. в первой строке файле хранятся числа N и K (размерность лабиринта и количество расчетных блоков по строкам и по столбцам соответственно), K кратно N. При этом расчетные блоки должны хранить лабиринт не целиком, а только отдельные его куски. В лабиринте могут находится следующие элементы: '.' - пустая клетка, '#' - стена, '*' - вход в лабиринт 'E' - выход из лабиринта Решением считается длина минимального маршрута перемещения в ходах и набор последовательных ходов, соединяющих место старта с местом финиша. Допустимые ходы - N (на одну клетку на север), S (на одну клетку на юг), E (на одну клетку на восток), W (на одну клетку на запад)

Операционные системы

About

Семестры 8-9, общий репозиторий


Languages

Language:Prolog 31.4%Language:Ruby 30.9%Language:C 23.8%Language:C++ 9.0%Language:Shell 3.7%Language:Assembly 1.2%